2011年12月31日星期六

2011简单小结

非常简单地小结一下我的2011。
根据豆瓣上的记录2011年读了134本书,看了103部电影。

books_read_2011_chartmovies_saw_chart

生活:
2011游玩的机会比较少,只去了两次荷兰购物,有时在北威州逛逛,去了一次黑森州。
4月份复活节假期到瑞士玩了4天。
5月份回国办了结婚酒席。
10月份开始学车,但是进度很慢,没有太多时间去上课。
11月份第一次和同事到一个旅游区参加3天Workshop。


学习工作:
读博开始比较进入状态,但是只发表了两篇文章。
我也开始给别人上课,带了几次练习课。
参与了两个项目,并主持完成了一个项目的第一和第二阶段。
获得了一个校内的博士生的创新奖。


事业:
有一个计划在有条不紊的进行,在2012年初就应该实现第一步,这也许是2011年最大收获。


2011的新年假期,大多数时间都窝在家里,学习WPF,Prism (学习使用Microsoft Ribbon for WPF,MVVM Model View ViewModel)。
最后祝大家2011新年快乐。

2011年11月27日星期日

闲谈2011年11月情况

a.不上班的日子
因为德国糟糕的天气,生病了,11月17日,18日在家呆了两天。连续看了两个医生,最近一年来,每个季度好像都要生病一次,每个季度都要交一次10欧元所谓的挂号费,并使用一下医疗保险。看来还是要多锻炼身体才是。因为生病了,昏昏沉沉的,没法编程。很少超过两天没有编程,我居然会想念编程,常常在思考一些编程问题。仔细一想,其实并不完全是因为我对编程有爱,也有可能因为写程序时自我重要感也就得到了满足,并且总是认为自己在参与的项目中是个不可替代的人物,得到同事的需要,感受到这一点的时候,那种幸福感是无与伦比的。不编程的日子,日子也过的很快,读读别人的博客,看看网上有趣的视频,玩玩实况2012,然后选顶级对手,被电脑虐几次,做做饭,一天就过去了。

b.第一次参加workshop
第一次参加我们组的workshop,我们组的workshop还挺有趣的,所有同事和教授都一起到一个度假酒店(这个酒店离我们大学也就2小时车程)住3天,也就是这个月23号到25号,然后进行汇报总结,还有分组讨论,每天3餐都是自助餐,在讨论的时候还提供各种点心,感觉就是一直在吃东西,还好一般来说我们的workshop只有3天不然会把人搞的胖死。

c.第一次参加展小型的科技览会的比赛
24日,我和一个同事还专门从我们workshop的酒店,开车回到我们大学参加一个小型的科技览会,参展的都是我们大学的博士生,当天比赛参展完成后,又开回我们的度假酒店。值得开心的是,我们参加比赛的项目获得了"跨学科的创新奖",并共同获得了1000欧元的奖金,这是对我们的努力极大的肯定,而且在展会上很多人都对我们的产品和想法有很正面的评价。现在我对我们的产品在明年的面市更有信心了。下个星期开始进行我们项目专利注册的事情。


附加:
刚刚,随便翻了下以前看过的书,发现有些有趣有用的观点,这里做一个摘抄:
帕金森法则(Parkinson's Law)[1]:任务的重要性和复杂度与所分配的完成任务的时间密切相关。(Work expands so as to fill the time available for its completion.)   
帕金森法则告诉我们一个道理,我们其实可以减少工作时间来做最重要的事情。这就是不断迫近的最终时限的魔力。如果给你24小时去完成一项任务,时间的压力促使你集中精力去执行,别无选择只能做最重要的部分。同样的任务,如果给你1周去完成,它就换来了小题大作的6天。如果给你2个月的时间,但愿不要这样,它就变成了一场精神磨难。因为精力更高度集中,短时限内做出的最终产品通常不比长时限内做出来的差,甚至质量更高。[2]

30岁是一个关键点。一个人是作为通才走上企业的经营管理者或者创业家的道路,还是走上企业内部专家的道路,必须在这个时候做出决断。而且在35岁的时候,还没有展现出通才能力的人,就应该不要有任何的犹豫,选择一个专业领域,并且拿出不输给任何人的决心走上成为专家的道路。[3]


引用:
[1] http://en.wikipedia.org/wiki/Parkinson's_law
[2] 《告别朝九晚五:每周工作4小时》
[3] 大前研一《知性力II》

2011年11月14日星期一

我们的XX项目使用的系统架构

上上个星期五,我们的大头和我们三个核心开发人员开了一个下午的会。决定11月24日,参加一个展览会,推荐我们的产品,也是算是一次了解我们的产品的市场反应的机会。但是这个产品的具体介绍(其实是一个专业软件,加上辅助的硬件系统),我将在正式上市的时候进行详细的说明,可能会在明年的2月份,这个项目的软件部分这里我就暂且称之为XX项目。

这个XX项目已经进行了一年,我从开始就参与开发,作为软件核心开发人员,看到即将上市,感到特别的兴奋,而且有些成就感,特别是这个软件的用户界面还是我一点一滴设计的,和很多程序员不同,我认为设计一个漂亮的GUI是非常有趣的事。

进入正题,今天谈谈这个XX项目系统架构。

开发这个软件我们采取的很多对我们来说比较新的开发方式和架构,我们采用模块化开发,模块设计,所有的模块都通过我们特别设计的类似Service Interface方式导出其数据与功能,所有的模块的接口通过特定的方式进行开放。这些模块都有自己想对应的测试模块,对其进行自动化测试,使用的统一的架构。这些模块我们不仅使用在我这里所提到的XX项目,而且还使用到我参与开发的几个项目,有的是运行在服务器上,有的则是在单机上运行的。

我们使用的架构类似下面所示,XX_GUI模块是用户界面模块。XX_APP(应用程序)获取各种模块的“服务”,这里类似中间层。XX_GUI(用户界面)通过我们特殊定义的event和XX_APP(应用程序)进行通信,目前我们的XX_GUI(用户界面)是使用Qt进行编写的基于单机,但是XX_GUI(用户界面)可以简单的通过替换改变成为Web-based user interfaces(WUI),例如使用Java,AJAX进行开发,如果使用Web-based user interfaces(WUI),并通过各种Web服务协议进行数据和事件通信,XX_APP(应用程序)进行简单的改造就可以放置在服务器上。


XX_GUI
  ^
  | 通过event进行通信 
  |   
XX_APP (应用程序)
  ^
  | 通过统一模块注册机制进行调用
  |
各种模块

 

XX_WEB_GUI
  ^
  | 通过网络进行通信 
  |   
XX_APP (应用程序)
  ^
  | 通过统一模块注册机制进行调用
  |
各种模块

 

进一步延伸,因为各种模块组合产生的XX_APP(应用程序)可以在服务器上运行,我们的XX_APP(应用程序)适用于类似很多大型平台采用的Service-Oriented Architecture(例如亚马逊),可将XX_APP(应用程序)功能作为服务发送给用户。通过统一Service注册机制进行调用多个不同的XX_APP(应用程序),组成一个复杂的网络服务。例如下面所示。这就因为使用同一Service注册机制这就大大提高服务的复用性。这就是在应用程序层级上提高复用性。

                         特定的服务
  ^                                                                        ^
  | 通过统一Service注册机制进行调用 |
  |                                                                          |  
XX_APP_1 (应用程序)    ... ...       XX_APP_n (应用程序)
  ^                                                                        ^
  |  通过统一模块注册机制进行调用         |
  |                                                                          |
各种模块                                           各种模块

 

最后总结一下,复用性一直是我对设计上思考的要点,简单来说:
我们的模块依赖于我们开发的类库,这就是在类层级上的复用
我们的应用程序依赖于我们开发各种模块,这就是在模块的层级上的复用
我们的服务依赖于我们开发各种应用程序,这就是在应用程序的层级上的复用


接下来的时间,为了准备这个展览会,除了设计一个产品演示,准备展位的广告,就是要好好再练一练德语了,突然发现自己的那点德语水平做一个好的产品演示推介非常吃力。

2011年10月17日星期一

闲谈最近的情况

居然超过一个月没有更新博客,接下来会常常更新的Smile。因为最近在忙着完成一个项目的一个里程碑的收尾工作,这个项目共分为3个里程碑,也就是分三个阶段完成,我们现在刚刚完成第一个里程碑,在我们的Time Schedule上应该是在今年三月底就应该完成这个里程碑。因为遇到技术性难题和人员调动还有测试的原因,我们居然拖延了半年,所以说软件工程常常会把人拖入泥沼,最后我发现这个项目的核心开发人员,也就是我和另一个同事写了80%以上的代码,虽然采用了模块化的开发,因为开发依赖于我们自己开发的Framework但是除了核心开发人员其他人对Framework的理解和应用并没有达到熟练使用Framework进行开发的水平,所以整个项目还是过于依靠核心开发人员,导致项目进度很慢。最近每天都花一点时间重读了一些C++的书。同时还用C#自己写了些小东西,其实C#是一门很不错的编程语言。

这个月读了不少关于财经及投资的书籍,进行财商再教育。最近也开始关注德国DAX,“有幸“遇到振幅超过20%的这几个星期,其实有很多抢小反弹机会,但都没有把握。

新的美剧季又开始了,其实我几乎每天看一集美剧,晚上在家吃饭的时候看,以下是我看的美剧,排名分先后。

1.《豪斯医生》,编剧的水准之高,令人折服。

2.《超感神探》,很多有趣的推理,Jane的个人魅力无敌。

3.《生活大爆炸》,配角越来越出彩。

4.《老爸老妈浪漫史》,一如既往的搞笑,很符合我的笑点。

5.《绯闻女孩》,因为前季都看了,所以看此剧已成为一种习惯,看看美女,漂亮的衣服,时尚繁华的纽约也不错。

 

每周我都看1到2场球,主要是皇马的,因为我也是穆里尼奥的粉丝。

十月的德国已经挺冷了,家里的暖气已经开始供暖了,最近常常还下雨,没有办法每天骑自行车上班,对我来说,这是一件很痛苦的事,因为每天骑10公里自行车是我最主要的运动。

2011年9月11日星期日

不要让人重构你的烂程序

上个星期主要工作是重构一个很重要的模块,先抱怨一下,这个模块没有注释,可以运行,完全没有可维护性,写得是相当的丑陋。

单是理解这个程序就花了我和一个同事整整1天,然后重构花了我4天。而且每天我为了这个模块的重构,居然打破了我的“程序员每天只需编程4个小时”的教条,我每天竟然要花6个小时在这个模块的重构和测试上,最终我在重构上大概花了30个小时,所以很多人说不要轻易重构代码,这里我想说的是重构他人的烂代码还不如自己重写。
但是经过上个星期的经历,这里再次总结一下什么是烂代码。
1. 没有关于重要代码的解释
2. 没有统一的名称的规范
3. 到处都是注释掉的代码(注释掉的代码会让读代码的人很痛苦,而且会让人觉得这个代码不是最终的成品,而是实验性的代码,或半成品)
4. 巨大的方法(我居然看到了一个超过1000行的方法)
5. 很在方法中很随意的加入代码
6. 过于愚蠢的API的设计 (如果要学习如何设计一个好的API请查看Qt API Design Principles

上面第4点提到的,对于这个超过1000行的方法,被我改成的8个小方法,每个都不超过50行,而且这些方法的都具有复用性(因为每个方法很小,代码的可重用性开始指数增长)。为什么会有这种巨型的方法呢,其实就是程序员很多时候很随意的加入代码所造成的,而且他们满足于写出“可用”的程序,而不满足于写出“优雅”的代码。

很多人都停步于烂代码,因为他们认为他们的烂代码可以用,很多程序员都会犯这样的错误。他们很理直气壮的对我说,看我的代码很好用,可用的代码不代表不是烂代码,其实这些代码都金玉其外,败絮其中。人们常说,程序员都是从写烂代码开始,然而也许写出所谓的“内聚性、松耦合、零重复、封装、可测试性、可读性以及单一职责”的“好代码”需要长时间的锻炼,但是最坚持最简单的代码规范却是每个程序员可以做到的,这就是避免烂代码的最好方法。

其实我们常常并不要求人们写出“优雅,精妙”的代码,我们的要求不高,程序员只需要坚持“简单性”,写出符合“代码规范”简单的代码即可。

2011年9月1日星期四

关于经济危机的一些思考

最近计划转换跑道,常常“不务正业”地看一些关于金融投资的书,同时也关注一下德国的股市,最近跌得很厉害,DAX前几天还破了5500点,作为经济的晴雨表的股市表明,经济似乎遇到了危机。我这个电子工程师今天也来谈谈我关于危机的思考。


危机1  夕阳工业和退休基金
突然想到,如果美国政府不断的增发货币。那么证券市场是一个池子,如果这个池子的增加变大要低于货币的增加速度,证券市场作为货币的重要流出口,那么证券市场的就很有可能上扬。但是我们可能会遇到最坏的情况,很多夕阳工业正在消亡,而中国的社保基金,美国和西方国家的退休基金,都相当依赖于这些夕阳工业公司所发放的股利,然而股利的大幅度下降对这些求稳的基金是有很严重的影响。

危机2  债务和赋税
美国的债务不会自动消失,早晚会为了这些庞大的债务付出高额的代价。据统计美国地方政府、州政府以及联邦政府工作的人数,大于制造业的就业人数。众所周知,中国承担着巨大的行政成本,以及越来越庞大的公务员队伍,这是整个国家的巨大负担。虽然政府工作人员虽然对维持社会运作起了很重要的作用,但是他们对社会财富的贡献是很低的。为了解决债务危机,美国政府持续大量印钞票,这些债务得用税赋的方式来偿还,美国的赋税一定会上升的。如果中国的经济无法持续高速发展,为了负担中国巨大的行政成本,中国的赋税会继续上升。

危机3  消费
我们都知道如果美国人停止消费,那么全球将会开始迈入所谓的经济大萧条,因为中国这个重要的市场消费不足。但是美国消费者并没有储蓄,如果美国经济进入小的不景气,消费者的储蓄花完后,那么经济大萧条是肯定的。

危机4  失业率
据最近的报道,德国的同比失业率下降,但是我认为不管西方国家还是中国,失业率长期看来是一定会不断增加。全球化的影响是企业可以大幅降低公司的营运支出,并且利用新的信息技术,会大幅降低人事的成本,带来的是裁员。工业机器人在未来几年内会更大规模的运用,蓝领工作也会受到巨大的影响。


危机中的可能的机会
机器人技术(重点是工业机器人领域)
信息技术(可以用于减少的员工,可以获得更高的利润的信息技术,或者优化生产流程,提高生产效率的信息技术)
房地产(在巨大货币投放下产生的通货膨胀下,如果向银行贷款购买房地产也许是一个还可以的机会,因为我们的还贷成本随着通货膨胀会大大降低,但是必须是能带来现金流的房产(例如出租),例如小套的公寓)

2011年8月15日星期一

程序员每天只需编程4小时

很久没有更新“电子工程师乱弹编程”这个系列。今天继续谈谈时间管理的方法。
其实我一直认为,作为程序员每天有效编程时间大约4个小时就可以,我每天就是最多编程4个小时,不是因为我没有什么活,其实我的工作任务在很多人看来是“相当繁重”的。减少编程时间后,剩下的时间用来学习,研究,可以进行“时间投资"(下文会介绍)。


如何摆脱加班的痛苦,减少工作时间,以下是我的几个小方法:


1. 减少”所谓的无效工作时间”
例如工作时上网时间,因为干这些事的时候,我们精神体能处于死亡的状态。编程时不要看邮件,减少外部的干扰。


2. 放弃完美
根据我的经验很多过长的工作时间就是我们追求完美所造成的。正如《卓有成效的程序员》所说的,“始终牢记你到底要做什么,如果情况开始失控就及时抽身而出。“80 10 10”法则,80%的客户需求可以很快完成,下一个10%需要花很大的努力才能完成,而最后的10%却几乎不可能完成。”我们常常为了那20%的东西,花费了80%的心力,我们所要警醒的是20%的东西是否是核心功能,对于不是重点的功能我们应该说“不”,并及时抽身而出,取和舍是减少工作时间的要点。


3. 使用合理的开发流程,开发方式,高效的开发工具
对于软件开发方法,我个人并不喜欢敏捷,应该所很不喜欢,因为软件质量和生产率成正比,因为软件的质量越高,生产率越高。而不是编码的速度越快,生产率越高。
我喜欢的开发方式是模块化开发,并且是采用相对传统的方式进行开发(常常使用迭代法,一定要画UML),我们组的系统的架构基本上是模块化的,每个提供对外接口,每个模块都要写一个对于的测试例程,一来是为了模块测试,二来是方便做持续集成的人理解。然后进行持续集成。这种开发方式相对比较累的人是做持续集成的人,我最近一直在做这件事。模块化开发出的模块,也可以提高代码质量,以及复用性。


4. 进行时间投资
这是我最近看《杠杆思考术》一书看到的一个概念。程序员的时间投资的根本就是找出“模式”。其实对于程序员而言,例如自动化构建的脚本就是一种时间投资方式,有时重做轮子也是时间投资的方式之一,例如自己写一些适合自己项目开发的工具类库,特别的工具类库常常可以在特定的项目开发中节约很多开发时间。以下摘抄一些书中原文:

因为投资而增加的时间,就应该用来投资打造新的模式或新的事业,进一步作为提升自己能力的自我投资,也就是所谓的再投资。如果能够反复运用这些时间,每年就可以产生数百个小时的时间资产,而且这些额外的时间还能够以复利的形式像滚雪球一样快速增加,所以投资效果就会越来越大。只要能够有效地缩短工作时间,就能争取到更多的额外时间,这样一来也就可以达到不错的成效,而且最终还可以跟升职加薪有所关联。
所谓的时间投资,其实是由几个基本步骤组成的。
首先,最重要的是事前的调查。环视一下自己的工作全貌,检查什么事情是很麻烦的,哪些地方很花时间,自己要完全掌握。
接着,就要检讨在这些工作中哪些项目可以进行的更有效率,也就是所谓的过滤。不管是跟成果有关联的事还是没有关联的事,只要是非做不可并且没办法交待别人的,都按照其重要程度排出先后顺序。而且,为了建立所谓的模式,就必须实际投资时间去实施,以追求效率化。在这种时候,如果无法达到预期的效果,就没有必要勉强坚持下去。相反,如果能够持续取得成果,就能累积时间资产。


当然大话谁都会说,找到适合自己的方法才是最好的方法,对了,今天你是否只编程4小时?

2011年7月25日星期一

“工作淡季”到底可以做些什么呢

上个星期开始是我所参与的项目的间歇期(我主要负责设计和开发的一个小系统的软硬件开始运行并且都运行正常,与此同时正在参与的另一个项目(并不是很急切的)正处于停摆期),我挺清静的,整个星期就开了一次会。

这其实也就是我前不久读的《代码之道》一书所谈到的开发团队达到了“零Bug反弹”(ZBB,Zero Bug Bounce),在这个清静时期,我们可以做些什么有建设性的事情呢?

开发人员在“工作淡季”到底可以做些什么呢?下面是《代码之道》提出的一些想法:

分析Bug。分析团队在过去的一个产品开发周期中修复过的所有Bug,找出其中的规律。
为部门开发一些工具。
讨好项目经理,把他们的设计思想变成原型程序。
学习新技术或技能。
跟研究人员交谈。
撰写专利申明或白皮书。
反思职业生涯。

这是《代码之道》软件开发团队对于软件工程师的想法。

其中:
学习新技术或技能,反思职业生涯
这两点对于无论是硬件工程师,还是软件工程师还是软硬件研究人员都很重要。


所以,我决定应该好好应用这个“清净的时期”学习新技术或技能,参与一两个培训使自身得到提高,下个星期,我在我们大学报了一个一周的课程。
关于反思职业生涯,突然发现自己虽然忙碌但是不是富有激情,可能是没有太多新的挑战了,经过一些和同事的讨论,我决定开始学习一门新的编程语言objective-C,开始学习移动设备应用开发。


“清净的时期”其实也是一个很好的放松和修整的时刻,虽然不是在度假但是可以放松一下紧绷的神经,下班后,我又玩了一遍“三国志英杰传”,读了几本没读完的书,改变了家具的位置,彻底地将家里大大小小的东西整理了一下,而且我居然连续看完了how I met your mother的4,5,6季,很久没有一口气看这么多美剧,HIMYM不仅好笑(譬如第6季第10集:“早闪哥”,让我笑翻了)而且还挺温馨,个人非常喜爱,其实看完后感触还是很多的,里面有很多点点滴滴的生活中的哲理,很多也会发生在我们身上的人生大事,小事。其实生活中精彩和幸福之一就是你的好朋友就在你的身边。

2011年7月17日星期日

上周小记 -- 我的两个简单的人机交互的小游戏

每到周末,夜深人静就想写点东西,写点东西记录一下我上周生活吧。

德国的一个著名的卡通老鼠[1],今年已经40岁了,我们所和德国WDR电视台一起组织了一个开放日--7月10日,也就是上周日,一起庆祝这个卡通老鼠40岁生日,有至少2千个儿童来我们研究所参观。
我和一个同事带了一个学生,做了两个小游戏(花了我们两周的时间),给来参观的儿童玩,我们组的其他同事也做了好几个游戏,希望可以通过这些游戏培养儿童的科学兴趣的,虽然花了很多的时间和精力,但是来参观的儿童和很多家长都表示收获不少,特别是给儿童们带来了很多欢乐,与此同时,我们这些所谓的“科技工作者”的也获得了相当的成就感,这个偶然的机会做了游戏,也获得了很大的乐趣,自己感受似乎年轻不少!


以下简单地介绍一下我做的两个小游戏:
一个是微型机器人的逃离游戏,也就是有几只微型机器人(我们使用的KheperaIII微型机器人),通过一个门,有两种情况,一种是这四个机器人通过互相交流,它们可以有秩序地通过这个门,另一种情况就是四个机器人不进行交流,它们就会争先恐后地通过这个门,然后挤成一块,最后这几只微型机器人会“很艰难”的通过这个门。我们做了一个卡通界面,这个GUI(图形用户界面)可以通过连接我们的服务器可以和机器人进行通信。在这个GUI上选择机器人,通过它们的编号,然后可以选择按左边的大象卡通按钮,机器人就会通过无线网络的交流有序的通过门,这些微型机器人上面都跑Linux,选择老鼠按钮,机器人就会想上面说的第二种情况无次序的通过门。
儿童可以通过这个游戏了解一下微机器人的通信和控制知识。

Maus_Escape_Scenario

 


第二个是关于控制机器手臂的小游戏,两个儿童可以通过Wii的控制手柄Wiimote来进行游戏,游戏的目标就是让机器手能够抓住一个塑料积木块移到目标位置,为了保证安全,我们不让儿童直接控制机器手,而采用让儿童完成指令然后让机器手自动完成运行的形式。首先可以得到一组Key,这两个儿童必须按照上面的指令,“同步”地使用Wii手柄完成游戏上出现的一组动作(有四个),如果不同步,必须重复,完成之后,这两个儿童必须摇晃Wiimote,同时游戏屏幕上会出现他们摇晃Wiimote的次数,他们摇晃的次数相加的数量越大机器手移动的距离也就越远。然后继续重复,上面的过程,机器手就会继续进行移动,最终移到目标位置,然后将抓到的塑料块放下。下面是我做的游戏的GUI,如果GUI启动,主窗口会同时显示关于机器手运行的实时视频和游戏的指令和各种信息(显示渲染使用的是SDL库,并使用了一个简单的游戏引擎,实时视频的接受和解码使用的是libvlc库),记录了玩家需要的时间,玩家的名字,花费的时间,玩家的名字可以通过我们做的一个网页输入,我们的游戏GUI也会自动从网上的数据库上读取玩家的信息。
儿童可以通过这个游戏了解一下机器手的控制知识,体验一下人机交互的感觉。

Maus_GUI

 

周记的最后再写点东西,周五和六晚上,和两个PB电子系的老同学一起吃了饭,聊聊社会的乱象,感慨一下生活,分享一下人生感悟,闲扯一下工作上的压力,遇到的趣事,大家都已经或即将步入30,突然大家也觉得自己已经老了很多。简单总结一下我们这些中年男子的感悟就是:时不待我,现在应该做到的事情就是,好好把握人生的精华时光,活在当下,珍惜现在身边的人和事。

附注:

[1]著名的卡通老鼠,http://en.wikipedia.org/wiki/Die_Sendung_mit_der_Maus

2011年7月4日星期一

铁打的营盘流水的兵

上个星期二我的一个同事“小埃及人”博士毕业了,答辩完成后,在庆祝的自助餐上,他问我:你打算什么时候毕业呢。呃,我说,应该还要很多年吧。
其实我一点也不想毕业,完全没有在意博士毕业的事情,很喜欢现在的生活,想一直做大龄学生。读博虽然收入微薄,工作压力大,工作时间很长,但是可以做自己喜欢做的事情,每天都可以“玩到”很多好玩的微型机器人,高性能服务器,复杂的实验平台,还有很多“大玩具”,上班的时候随便上网,上班不用打卡,有时还会去旁听一下我觉得有趣的课,这对我来说简直是一个完美的工作,有这些,什么收入,工作压力,都不是问题,我自己一直是一个超级知足的人。

我的一个台湾同事小C已经辞职了,过两天要回台湾,研究所真是一个铁打的营盘,总是有流水的兵,才这几天“小埃及人”毕业了,小C辞职了,还有另一个同事,“光头土人”也是最后一次来上班,想到以后,在他们的位置上看不到他们,还是有点伤感。

每天中午12点45都要和“小埃及人”还有几个同事吃午餐,他个子比较小,而且是埃及来的,所以我称他为“小埃及人”,这是小C给他取的外号。他的硕士本科学的是计算机科学,博士研究的是图像处理,体育运动中图像追踪系统。“小埃及人”信基督教,而且很虔诚,每年有超长的时间在吃素,他常常说他们这些信基督教的人在埃及这种穆斯林国家常常受到迫害,“小埃及人”很喜欢看youtube,玩facebook,踢足球,英语很好,还喜欢把程序编得复杂,我在半年陆陆续续在读和改写他以前写的一些代码,真的深有体验。

“光头土人”,他的发型当然是光头,德籍土耳其人,从小在德国长大,硕士学的是计算机科学专长CUDA和OpenMP,家乡是卡塞尔,喜欢打电话,为人很热心,喜欢自嘲并将一些笑话和故事,常常可以看见他找mm聊天,中午喜欢喝食堂的汤,不喜欢吃“四只脚”动物的肉,有一双很漂亮的墨绿色的眼睛,看人的时候总是让人觉得很深情,他呆在我们所里大概只有半年吧,现在要到工业界发展。

小C其实也就比我小一岁半吧,他在我们所已经工作的快两年了,人非常nice,因为和小C住得近,几乎每天都和他一起8点50坐大学专线到研究所,下班也常常和他一起坐大学专线回家,和他在路上胡扯很有乐趣。小C的英文,德文,中文甚至是闽南语都说的非常好,这得益于他丰富的求学经历,因为他老爸常年被公司外派到欧洲,所有他在英国和台湾读过小学,在台湾和德国读了中学,最后在德国汉堡读完大学,和我一样他也是学电子的,但是主修通讯,专长VHDL。因为他英文极佳,以前我的SA和DA都是他改的,他还改过Lin的MA。小C钢琴弹得很好,钢琴弹的好的人反应都快,这样玩Call of Duty就非常厉害了,先天优势,他玩射击类游戏非常强悍,而且他也非常喜欢玩。我和Lin还有他和他的女友今年还一起去了一次荷兰的Roermond的Outlet,复活节的时候还一起参加的瑞士的旅行,这些都是一些很有趣的回忆。

唉,铁打的营盘流水的兵,让一些小小的回忆藏在这里吧,祝他们平安顺利。