Hello World from Henry!

好久没有写博客,因为家里多了一位新成员–Henry。我也难得有机会休假,全心全意地照顾家人,当全职奶爸,做饭,换尿布,拍嗝,乐在其中!😁

Henry的预产期本来是6月15号,双子座。没想到拖了一周,成为巨蟹座,可能是也想像他老爸我一样当暧男吧(我可能自以为是了😄)。头两天他吃不饱,很闹,着实有些崩溃,我有一段时间觉得前途灰暗。尤其是第一天,当我28个小时没睡觉,Henry还在哭闹时。但即使那样,我当时依然有信心把Henry照顾好,把Yolanda照顾好。后面妈妈的母乳来了,Henry吃的很开心,变身成了天使娃,能吃能睡能拉。高兴的同时,我也更有信心了,以后教他编程、摄影、篮球和做饭。

现在,Henry已经两周大了!可爱吧!😁

I'm watching you!

 

2s

10KM!

最近很多事情告一段落,挑战一下自己。

10KM, first time! Feel so good!

跑时的胡思乱想:

  • 想起多年前笑来先生的书,“我们能做的只有坚持,其他的事情交给时间”。
  • 想起广播听过的一位福建阿婆,她说“老天给的皮囊就是让人使用,不要太爱惜”。
  • 年龄越大,能坚持的事情就越少,时不我待!

2015-09-19_10-09-47

继续坚持!😎

拿块自制CR2032L/DBE电池拯救你,我的Dell E6500!

正常工作六年之后,昨天我的Dell E6500终于挂了。无法开机,出现“Time of day clock stopped”错误,Google之后发现时BIOS的电池要换了。

拆机,找到电池,一块抱着蓝色的绝缘皮,上面的Label是“CR2032L/DBE …”,就是这货,我那块14年就过期了。

CR2032L/DBE

如果网上买,新的要$5.73, 还没加运费和税。贵啊!

家里还有几块CR2032纽扣电池,会不会就是普通的CR2032穿了个马甲(绝缘皮),再加两条引线?拆开看看!果然,核心就是普通的松下CR2032和引线。

然后我用绝缘胶布包上一块CR2032,有了这货,

IMG_20150611_211459

IMG_20150611_211511

装上之后,DELL E6500之后就又杠杠的了!

New virtual environment after laptop re-image

公司电脑终于被Re-image了,再也没有了Admin的权限,除了portable的软件,其它都要在系统里Order,然后推送。系统里的软件很少,五笔输入也没有一个。VMWare也是再也不能装了,虽然有正版的License,好在开源VirtualBox是可以的。在安装了新的Linux Mint 17环境之后,然后我惊喜的发现,VirtualBox和VMWare在使用上的感觉差别不大了,速度也很快。

又要开始工作了,在新环境里很爽!

一个小Tip,VirtualBox 4.2.16的Additions有点问题,要下载安装4.3.x的Additions。Maybe that’s for newer Linux!

把Linux开发环境搬到Virtual Machine里

好久没来写东西,一是项目太紧,一是懒。这两天得空把现有的开发环境改进了一下,把Linux开发环境从公司的开发机上搬到了VM里。

原因有几点:

  • 原来Linux的开发机是共用的,人一多,机子就卡。毕竟同时运行几个Eclipse啊。
  • Linux开发机要用NXClient连接。NXClient能保存Session,很方便,但时不时的就把Mouse Focus给锁了,非常坑爹!已经N次Kill NXClient进程,再把各种窗口工具一一打开。
  • 为了一些技术改进,我在开发机上装了两个Web-Based App。少一个人用开发机,多空出点资源。
  • VM自己控制,可以装一些方便的工具。
  • 回家VPN太卡,VM更灵活,断了网了也不怕。

VM很容易装,Linux Distribution和开发机保持一致,再把自己在开发机上的Home目录Mount过来就一切搞定了。

现在很Happy!

初试Markdown in WordPress

安装了Markdown的插件在Wordpress,小试一把。

Titles

H1

H2

H3

h4

h5
h6

Quotes

Quote from somewhere

Quote in quote

Quote in quote in quote

h1 in quote

List

  • Red
  • Green
  • Blue
  1. Bird
  2. McHale
  3. Parish

Code

Seperators


Links

This is Google.

Highlights

hightlights

Reference

Markdown语法

打算写个需求管理(Requirement Management)的工具

工作这几年了,实现过全新的项目,也维护过老旧的项目,总是有一种感觉,就是几个产品的需求管理做的都不好,需求都非常零散的分布在JIRA ticket里(可能很多在comments里),没有总体的控制。一个普遍的现象是你问某个产品工程师,某版本的产品有哪些功能,或者某更新版本比旧版本多了什么功能时,他不能马上回答你。一个可能的做法就是去filter JIRA ticket, 然后慢慢读里面的comment或者附件。

这种做法真的很没有效率,一直希望公司能引进一套做需求管理的工具,像IBM Rational就有比较完善的解决方案。不过这些产品也真的价格不菲。

打算自己写一个玩玩,其实的目前能想到的功能也不多,

  • 能结构化的组织产品的需求
  • 建立需求间的相互联系
  • 可以和JIRA ticket连接(记个Ticket ID就好)
  • 可以比较不同版本之间的差异。
  • 最好能和开发和测试的工作连在一些,如代码的改动,有没有测试等。

先用Eclipse RCP写个样子出来看看吧,正好也学一下RCP的其它特性。

《打造Facebook》读后

清明小假,深圳大雨,窝在家把同事推荐的《打造Facebook》读完了。书真的很棒,和程序员的生活很近,感觉亲切,结合日常工作感触很多,此外还大大开阔了眼界。读过本书的同学应该对Facebook都有无限向往吧。

工程师的地位

以前就听说Google里的工程师地位很高,Facebook看来也不类外。这些都直接激发了工程师的各种主动、自发、积极、创新等。但我想也有很多公司里的工程师没有这样的幸运。就我所处的半导体行业,虽然工程师(指主要写软件,行业背景不多的工程师)的作用很大,但说到地位,和Google,Facebook还是也没法比。其实原因也显然易见,因为这个行业讲究背景,讲究经验,除非你的行业背景很深,很多工程师并没有太多发言权。即使是在我们善长的领域,比如前端设计等,也不是每次都可以说服那些定义需求的大佬们。这和互联网行业就有很大的不同。

地位如果别人不给,就自己争吧!如果想提高、想生长,就一定要给自己可以“折腾”的空间,如果没有也要创造。不是说一定要去学习艰深的行业知识(除非你喜欢),工作中总是会遇到问题,技术上的、流程上的,需要不断总结,运用各种手段、方法找到解决的方法。当你解决了问题,取得了一定的成绩,别人不说你的地位也高了。即使这家公司不给,别家也会给的。^_^

工具开发

开发中的工具是非常重要的!我想每个程序员都能体会。完善的Tool Chain会大大的提高工作效率,工作时的心情,会有进行艺术创作的快感。如果你改了行Code,等编译结果要5分钟,我想什么心劲都没了(这是几年前我的经历)。

像我们这种行业背景很深的公司,一般开发人员很难接触到真正的客户。所以就成就感来说,可能开发一个很Cool的工具来得更大一些。但我想使用工具还是要针对目前的大问题,像书中讲到Facebook的工具都是针对他们开发、运维中遇到的大问题,要有明确的目标,认定是值得投资的,特别是在人力资源本来就不多的情况下。

开发流程

Facebook的开发流程有很多Agile的元素,但没有看到书中强调他们使用了Agile,所以我想Agile是种自然的结果,特别是当很多聪明人在一起工作的时候。这几年的工作,也让我越来越体会到,传统的软件开发流程、项目管理本身就不适合现在的软件开发。比如产品经理提了一个很大需求,然后很多人参与讨论,制定Spec,甚至有几轮的Review,几周后终于被Boss finalize了。然后开发人员会根据Spec,做估算,做计划。开发终于开始了,可你很快会发现,几轮Review的Spec还是有问题,一个Demo Meeting之后,大伙各种建议,Spec被改,可能是小的,也可能大的。大的有些会影响你的计划,然后计划也改了。这中间我们浪费了很多资源!为什么不能在大方向有的情况下就开始做一个迭代呢,在开发中发现问题。因为很多问题(特别是细节)只有在动手之后才会发现,对着PPT很难发现什么。这样也许可以省掉几周的时间。

工作中的指导

以前读过《One Minute Manager》,很多做法和书中也有很多一样的。其实做为Leader或Manager就是要帮助下属定义明确的目标,然后及时的给反馈,不管是对的方面还是坏的。目标可以一起讨论,可以借鉴SMART原则,反馈则要根据实事,不要针对个人。

关于招聘

记住了书中那句“Hire Slow,Fire Fast”。人才对于一个技术团队实在是太重要了,一定要慎重,不能降低标准,即使慢点也是值得的。但当发现一个人不合适(观察的过程自然是较长期的),就一定要快!一团合气其实对双方都不好。但如果团队的领导年轻,有时候是很难告诉别人Bad News的,其实是不习惯之后可能的对抗,不管是激烈的还是冷的,所以一定要实事求是,摆事实,做到对事不对人。不适合在这个团队,在别的岗位可能就非常适合,公司就有这样的例子。

书中还有很多大开眼界的地方,比如Facebook的股票分配,天使投资等。下次有机会真想去Facebook看看。:)

 

习惯

晚上打开电脑,想实现下午产品组同事说的新控件。Eclipse IDE自动生成Java类之后,突然发现代码的缩进居然是4,而不是2。一阵不习惯,马上改了Eclipse的设置。

完成之后,心里不免笑了笑。因为缩进为4是我从学生时代就使用的代码规范,但却在Team统一Code Convention之后的这一两个月不经意间完全改了。想想自己也是挺“固执”的,很多时候都爱坚守自己的那点小完美主义。仔细地想了想为什么会改变这个习惯,但却思索不出答案,可能是口味变了吧!

管它的,怎么顺眼怎么来!!