Monthly Archives: June 2008

不尴不尬

在通信院校的通信系毕业以后,在通信公司工作了三年,写程序,发现,通信的知识全部忘记了。

Posted in Uncategorized | Leave a comment

FireFox 3.0推介

为了迎接Firefox 3.0的发布,SpreadFirefox.com网站发起了一次创造24小时内软件下载次数最多吉尼斯记录的活动,欢迎大家参与创造这一世界记录。本次活动从北京时间06.18凌晨1点开始  

Posted in Uncategorized | Leave a comment

神说

神说要好好活,死了没戏唱

Posted in Uncategorized | Leave a comment

手绘兔斯基

这个,请问儿童简笔画在哪里有卖。  

Posted in Uncategorized | 4 Comments

上次吃早茶

南方有早茶,大抵是聊天,还有一些小点心,虾饺叉烧包一类。下面一张图片显示了早茶时候的情景,请忽略图片中三个中年男人,注意桌面上面(残留的)的食物。  

Posted in Uncategorized | 5 Comments

碎片

上午在食堂看了一会儿书,两个小时,注意力就没有办法集中了。维护了一下Google Code里面的玩具项目,写了几句注解,脑袋也不是很清晰,名词用的不太考究,太多的未经解释的概念了。下午又开会,我疑心说得太多了,妨碍了别人发言。说得多,也累。一天便没有什么时间看新闻,不知怎地今天更新特别多,两个小时扫了100+的帖子,都是Google Reader里面的,头昏脑胀。不如直接全部标记为已读算了。   天晚了,雨不见消,躺在床上看书,苟延残喘。一边听了一会儿李宗盛“理性与感性”演唱会,突然就有点想家。   今天在内部讨论区上有一篇转载的帖子,说的是在小软件企业里面如何提高软件质量的事情,我倒是想到了一些别的。小的企业里面也有一些搞工程很能的人,技术水平过硬,能够独当一面,但是薪水也高不到哪里去,当然这是由市场决定的。那么技术人员如何升值呢?我倒是没有答案,不过我想对于刚刚工作不超过5年的人来说,答案在具体的技术和工程之外,从外企的面试题来看,也许在于一些基本的能力和基本的技能,比如做IQ题的能力,比如对语言细节的记忆,比如对基本算法的学习,当然还有说话的能力,学习的能力等等。具有特定领域知识的专家可能是非常值钱的,但是这个领域最好不要有太多的“专家”才好,而且这个专家也要名副其实才好。   是不是有这些就够了呢?未必。是否没有这些就不行呢?也未必,还有机遇。   机遇是颇为不可靠的东西,不过可以靠多尝试来解决。晚饭时跟yvv谈到部门最近招聘,从简历来看,大部分人的教育背景和技术能力比较单薄。yvv说吴士宏当初去IBM北京办事处面试的时候也只是大专生而已,我说她也不是去应聘软件研发人员而是文员,而且那个时候中国人哪知道什么外企啊,知道也不会信任。吴士宏的发家故事是不是可以认为是先发优势?   拿到今天做类比,1986年去外企应聘文员,就像2008年大学生创业,都是常人看起来非常之举。虽然现在没有什么技术革命的时代背景,但是我相信还是会有一些创业者成功的,可能成就一些成功的公司,更可能被高价收购。是哪些创业者会成功呢?只有时间能够告诉我们。虽然等到这样一些成功的公司出现的时候,我们很容易以为/相信他们注定会成功,但那只是一种错觉。

Posted in Uncategorized | Leave a comment

little creature

早晨下楼的时候,在楼梯上见到一只麻雀扑棱扑棱的飞,直直的撞到玻璃窗上面,或者撞到墙上,看起来很着急的样子。外面下着雨,他也许是飞进来避雨的,不曾想碰到了人类。   我打算抓住他,然后帮他飞出去。他显然不能接受我抓他,到处跑,躲到角落的水管后面,我去抓他的时候,又飞到一旁。最后他奋力一飞,撞到了半开的窗户,没有晕过去,跌跌撞撞算是出去了。我下一层楼,看到窗台上面又有一个小麻雀,我不能确定是不是跟刚刚的是一只,我仍然去抓他。   也许麻雀的行为模式都是一样的,他们一般都会向墙角跑,这次我比较顺利的就抓到他了,当然也许是他太累了。我把麻雀小心的抓在手里的时候,发现他是温热的,软软的,细小的爪子按住我的手掌。我发现他的嘴丫还是黄的,看来刚出生不久。我握着他走到窗边,手伸出窗外,刚一松手,他便径直的冲不远处的一丛树飞去了。   今天这样的经历对一个婴儿鸟来说是太多了,这也许还是他会飞以来遇到的第一场雨。

Posted in Uncategorized | 2 Comments

关于科室工作的一点扯淡

老田要赴上海开工,昨天召集我和几个科室内的同事在旺东升吃早茶闲聊。席间聊了一些面试的技巧,还八卦了一下公司的领导,也闲扯了一下科室怎么办的问题。   问题在哪里: 当然可能有人不承认科室有问题,那样也无妨,我只说我的看法。回顾三年来的工作,从一开始大家都喊人力不够,到后来大家谁都不喊了,这是一个变化。不断有人走,不断有人来,但是走的都是水平高的,技术好的,来的都是新手。科室在技术上面没有积累,低水平重复。人力流失对项目造成极大的影响,新人无法很快的成长起来。   什么原因: 人在压力下工作,开始的时候会争辩,喊人力不够,相比起来这还是很好的现象,到这样的时候就糟糕了:项目成员明知道做不完也不会说出来,任由项目延期。压力不解除,进入到“明知道也不说”阶段是迟早的事情,压力包括很多方面,也包括生活方面的,人要住房穿衣吃饭。明知道也不说的下一个阶段就是离职,技术人员的成长通常都会快过企业的成长,除非这个企业的技术已经达到了一个普通人难以逾越的水平。同时他发给员工的薪水也要略高于市场价格,才能保证人员的稳固。反过来说,一个企业里面员工的水平,都是比市场上面同等价格员工水平稍低一点的。一个企业通过他的薪资水平来选择他需要的人才。   科室里面有一些稳固的员工,稳固的员工里面有一些水平比较高的,这些水平比较高的员工拿了比普通成员高的薪水,但是他们干的工作与新员工是一样性质的,只不过他们更快,质量更好。新员工和老员工之间少有指导和合作的关系,新员工只是自生自灭,这样只能是低水平重复。   解决之道: 解决人员流失对项目的影响有标准的方法,就是备份,就是项目成员对别人在做的东西有了解,可以接手。但是因为公司的薪资水平比较低,而且科室的工作比较繁重,难以保证备份这种“奢侈”的解决方案,那么解决方法就只能落在逼几个水平高的稳固的成员只做需求、分析和设计这样的难一点的工作,把简单的工作留给新员工,指导他们完成,而不是自己动手完成。一个老员工不从头到尾跟着一个项目走,而是几个老员工一同启动多个项目,这样也算对得起他们的薪水,也可以互为备份。   老员工完成角色转换需要经历比较大的痛苦,版本也会受到影响,为了配合这种转变,必须削减两年内要发布的版本的数量,减少科室30%的工作量。否则这种转换必然会失败。这样已经可以算是一个比较节约的方法了。   P.S. 办法很容易想,做起来很难,因为改革会动摇一些人的利益。

Posted in Uncategorized | 1 Comment

提高效率的几个建议

如同病人比健康的人更多的谈论良好的生活习惯,老年人比年轻人更多的关注养生之道,效率不高的人更津津乐道于提高效率的方法。这样说的话,应该向那些看起来很闲的人学习提高效率,而不是那些整天忙乱的人。   回顾自己的一天,应该是有点闲的,但我知道这不是拜效率所赐,而是拜懒惰所赐。毕竟也看过一些书,文章,对别人建议如何提高效率还大概知道一点,顶着搬弄的风险,转述一二。   首先要保证充足的睡眠。除非下个周末就要发版本,而且版本发完以后就能被提升为项目经理,否则还是按部就班的吃饭睡觉。也尽量不要为了看书看到兴致高就晚睡,兴致高虽然赏心悦目,但也会消耗大量的精力,从这个角度来讲,兴致高是效率的杀手。认识到人生的目标是持续不断的过和谐的生活和不断进步,而不是某一时刻的和谐和成功,能够帮助人安心入睡。   其次要减少不同任务的切换。网络新闻和邮件是另外一个效率杀手,不期而至的聊天也会使工作中断。频繁切换的问题在于人也许需要半个小时到一个小时才能从一个任务切换到另外一个任务,每天四个任务:聊天,读邮件新闻,看书,编程一路切换下来,就要消耗掉2、3个小时的时间,如果循环两次,8小时工作时间大半都要花费到切换上面了,非常的不值得。我发现躺在床上读书可以有效的提高读书的效率,一躺在床上就很难说服自己起来干别的事情。如果很累的时候卧读,还会不可抗拒的睡着,可以保证第一条,充足的睡眠。   第三是要干更少事情。既有兴趣去做,又值得做的事情很少。如果加上“不值得做好的事情,不值得做”这样一条,TODO List就会更短,学会砍掉那些无力做好的事情,把有兴趣的事情归为娱乐一类而严加控制,有助于集中精力。同时,砍掉那些“应该做”、想要做的事情,是充满快感的事情,我建议大家都尝试一下。   第四是学会忘记。通过做更少的事情可以帮助我们集中精力处理最有意义的事情,学会忘记可以帮助我们一个时刻只关注错综复杂事物的一个部分。人的智力是十分有限的,对问题的简化和分解是经常用的应对之道。但是我发现把系统纵向分解成不同的部分比较容易,但是把系统横向切割成不同的层次就比较费劲,需要经常提醒自己注意,并且约束自己的思维。   举比较简单的编写函数的例子,原来自己都是连函数的名字,参数,返回值,关键算法,数据结构一同考虑,经常乱做一团,如果侥幸编写成功了,也不知道到底是怎么成功的,是硬想出来的。现在在写函数的时候,首先想这个函数到底需要完成什么功能(通常在写上级调用者伪代码的时候,这个功能就被确定了),函数的名字是从功能概括而来的,一个函数应该只实现一个功能,如果名字想不出来,也许是这个函数需要继续分解。了解了功能,很自然就知道了名字,一步一步来,不要着急构思实现,先想实现这个功能,函数到底需要那些信息(就是参数)。确定了参数列表,可能还需要考虑一下是否需要返回值。考虑返回值可以用列表法,因为函数的返回值只有有限的几种情况,在这里不详谈。   先确定函数的名字,参数,返回值(所谓接口),然后再考虑如何实现,开始的时候可以先写伪代码,把流程搞清楚,写伪代码的好处是可以让人专注于逻辑,而不是类库,语言细节。如果过早的开始琢磨这个对象完成这个功能的方法叫什么名字一类的问题,就会在切换逻辑和类库细节上面花费过多的精力。   软件系统的分析和设计也是一样的,遵循一定的步骤,先做哪些,后做哪些,按照一套一般的程序去做,前期的工作整理成文档,供后期参考,可以有效的降低工作的难度,工作就有可能循序做下去了。   学会忘记,就是分层次思维,就是一次只专注于一个方面。掌握了这个方法,善莫大矣。   P.S. 谁说我写字慢,只要不斟字酌句,一样很快的。

Posted in Uncategorized | 1 Comment

骗钱3.0

看来我是碰到了一伙有进取心,不断优化算法的骗子,骗钱短信有愈演愈烈之势。不过升级实施得太密集,难免用户发展出免疫能力。   发自:158-5904-4161 “ 爸我昨晚和异性朋友在宾馆被抓,请速汇3000元的罚款到胡警官的帐号;建设银行的帐号;6227007200220200903胡晓群 ”   顺便点评一下吧,如果是为了模仿文笔差,那么上文中诸多标点符号错误和不通顺还可以理解,但是“异性朋友”这个说法有点太生硬了,不符合语境。如果是为了让这条短信既适合于“女儿”又适合于“儿子”(类似编程里面的“general”),我想直接说“昨晚和朋友到宾馆开房被抓”就可以表达清楚了。   修改后的短信如下: “ 爸,我昨晚和朋友到宾馆开房被抓,请速汇3000元罚款到胡警官的帐号:胡晓群,6227-0072-0022-0200-903(建设银行)。 ”

Posted in Uncategorized | Leave a comment