Geek @ 30 May 2010, “2 Comments”

Brothers

:) :)

more, and the most interesting one ;)

Geek, Tech @ 12 May 2010, “No Comments”

codeswarm 是个很有意思的工具,它把一个软件开发项目中开发者往代码管理工具(git/hg/svn等)提交代码的历史记录用视频的方式表现出来。

这是我把之前在做的一个项目的svn log 做成的codeswarm演示:

稍微注意就能看出,项目初期过了一段时间commit才开始活跃起来,code base比较小,代码也比较集中,后来虽然项目比较赶,但在公共假期(十一元旦春节)内,没有或者几乎没有代码提交。

这个视频在两个月前一次员工培训的PPT里演示过,发现从一个有趣、动态的角度来观察自己的工作让工程师们在感到非常新奇之外,能有效激发他们频繁提交代码的动力(使用中心化的scm如svn时,工程师们不是那么积极提交,即使口头上说过好几次)。建议不妨给项目写个脚本定期制作和发布codeswarm的视频,让工程师们主动频繁提交代码的效果也许比任何考核要好。

虽然直接运行codeswarm就能得好很不错的效果,它还提供了灵活的配置选项,比如我这个codeswarm里就添加了legend,并且自定义了不同文件类型所对应的颜色。

除了scm的提交历史外,codeswarm目前已经mediawiki的更新记录,维基百科的志愿者不妨试试,也许能从一个新的角度去了解和介绍维基百科。

另外提一下,随着web的发展,越来越多的数据被产生,因此数据分析的要求也必然会越来越多,而用图形来展示不同数据之间的关系(即data visualization, infographics)也会越来越重要。这又要提一下processing这个很适合制作infographics的语言,codeswarm就是用了processing的。

Geek @ 13 April 2008, “3 Comments”

This meme is spreading in the tech/geek blogosphere these days, it’s fun to join.

$ history|awk '{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a[i],i}}'|sort -rn|head
  237   git
   71   ant
   58   ll
   26   cd
   24   gvim
   19   sudo
   17   exit
   11   vi
    5   du
    5   cat

Some notes:

  1. I started playing with git last few days, that’s why it reaches the top, and I use esvn for most of Subversion commands, so svn won’t end up here;
  2. my laptop disk space is getting filled up, that’s why the du;

Now, what’s in your history?

Geek @ 06 June 2007, “No Comments”

My programmer personality type is:

DHSB

You’re a Doer.
You are very quick at getting tasks done. You believe the outcome is the most important part of a task and the faster you can reach that outcome the better. After all, time is money.

自我评论:这个不准,虽然我是很希望自己完全是这样的。

You like coding at a High level.
The world is made up of objects and components, you should create your programs in the same way.

自我评价:差不多吧,Java, PHP, Javascript, C#… 想low level也难不是?

You work best in a Solo situation.
The best way to program is by yourself. There’s no communication problems, you know every part of the code allowing you to write the best programs possible.

自我评价:是这样的,过几天关于这点要专门写一些。

You are a liBeral programmer.
Programming is a complex task and you should use white space and comments as freely as possible to help simplify the task. We’re not writing on paper anymore so we can take up as much room as we need.

自我评价:原则如此,但不喜欢太多和不必要的空白和注释。