2005-09-27

失望

如果这就是Google中国的用人标准,我看不去也罢!

唉,不说了,摆弄code去了……

好的blogger要给出链接

要退学的清华博士原来就是“完全用Linux工作”的作者。下面是两篇文章里提到的一些东西的链接。

2005-09-24

emacs -batch

最近公司cvs server搬家,不过手上有些活还没有check in,这样,除了改变CVSROOT环境变量外,还要做些额外的活改变本地的work space。

其实也不难,就是把所有CVS目录下的Root文件里的字符串替换成新的cvs root。为了方便操作,一个同事写了一段Perl脚本,大家只要在work space的根目录运行一下就可以了。但我始终觉得,无论是Perl或者sed,用来修改文件内容总是有点别扭,要做很多额外的工作,比如打开文件,创建输出文件,然后覆盖原文件,为了以防万一,还要留个备份。

用emacs就方便多了,这些问题全都由emacs自动解决了,因为emacs先把文件读到buffer里,修改之前还会自动生成备份文件,修改完成后执行一下(save-buffer)就可以了,唯一要做的工作就是写一个字符串替换操作,而这又可以通过--eval选项直接写在命令行上,所以又省去了写脚本的过程,非常完美。

当然,这需要学习一点Emacs Lisp。

2005-09-21

取之于民,用之于民

Slashdot | The Implications of Google's Digital Library: "I might agree with you on books that are still in print. However, for books that are no longer being printed, a socially responsible publisher would release the publication into public domain when it has run it's commercial course. I particularly loved the publisher who said it was not the pubisher's responibility to police their copyrights. 'We don't know if we published it or not, but we sure don't want you to be able to use it!' Wow. If you don't know whether it's yours, then you are not generating revenue on it any longer. Put it, then, where it truly belongs: in the hands of the public. There are so many useful things that could be done with it! But since you aren't generating money with it, and don't ever intend to, GIVE IT TO THE PUBLIC! Unfortunately, Congress has mangled and bungled copyright law to the point that this doesn't happen automatically anymore, and never will. So the onus is on the publisher and/or author to earn a little karma and give back to the public. Do it!"

2005-09-20

Google中国开始招人了

真是“千呼万唤始出来”啊,终于,李开复来了Google中国正式开始招人了

曾经抱怨过招人太难,不知Google有什么高招,不过这次的轰动效应也足够吸引中国高手的眼球了。

看过别人的简历才发现,写一份好的简历并不容易,也一直寻思着自己也写一份,不为了投给谁,就是自己看看,够不够impressive。感觉这次Google招人的要求很笼统,没有各个项目的介绍和项目特定的要求,还是第一次见到这样的招人方式。这样的简历该如何写呢?

2005-09-14

皇帝的新装

我在做的项目都快成皇帝的新装了,老板们成天鼓吹着,我们的技术好啊,我们也跟着点头,嗯,是好啊,偶尔有人嘀咕一句:“可是到底好在哪呢?”便立马被打压下去,质疑在这里是不允许的,no question!还有,仿佛我们的产品是一个珍贵的花瓶,不能碰,一碰就碎。可是,对一个什么都不让做的产品,用得着雇那么多程序员吗?!难道真的想养一批patch programmer

也许老板们真的只喜欢听好消息,可是,如果真的这么好,那还要我们这些人干什么,赶紧拿出去卖钱好了?!

出Bug了

无论如何我都不能相信,我的几行代码能引入bug。

The progmatic programmer上说,当bug出现的时候,不要拒绝承认这个事实。没想到刚刚读了这一段,就显灵了。我承认出了bug,测试结果是不会有错的,但我不相信这是由我这段代码产生的,最多只能算是我的代码暴露了其它地方的问题。

由于出问题的后端不是我在做的项目,不清楚他们都做了什么,所以很难找问题出在哪里,正在做着痛苦的二分查找,但愿能早日还我清白。

再发几句牢骚,多个平台编译器共享部分代码的开发我已经受够了,这需要很强的程序设计能力,光精通编译是没有用的。可惜现状偏偏就是这样,导致不同后端之间耦合相当紧密,想做点事情困难重重。其实这也不可怕,可怕的是领导们不觉得这是个问题,尽管下面已经怨声载道。

2005-09-07

Patch Programmer

最近程序写得有点累,就像妈妈原来常说的,“一个人收拾,一堆人霍霍”。

Patch programmer几乎从来不做refactoring,只做外部可见的事情,几乎从来不删除代码,他们所做的工作就是在代码上打补丁,或者在补丁上打补丁。更糟糕的是,他们会选择最省事的方式,比如将private改成public,或者其它简单粗暴的方式打破人家辛辛苦苦设计的封装。他们根本闻不出代码的smell,不理解人家为什么摆一个如此复杂的架势去完成一个“简单”的功能。所以,他们就“化繁为简”,打破重重阻挠,取出最核心的东西,然后将整个程序耦合在一起。

辛苦倒也罢了,可是这样下去不是浪费生命吗?!换工作的心都有了:-(。刚刚读了fear of code,不知说什么好,一声叹息吧,唉!

2005-09-01

自由

O'Reilly Network: Ruby on Rails: An Interview with David Heinemeier Hansson:

"That's not necessarily an easy sell, though. Just see all the wars through the times over coding standards. If people could just agree on one way of placing their brackets, they could presumably reap more readable and uniform code. But for a lot of people, that didn't work because the trade wasn't appealing enough. Getting a more uniform code base is frequently not treated as importantly as individual 'freedom' by a lot of programmers.

Rails essentially tries to do the same as the coding standards did, but the reason it's working better is that the deal is much sweeter. Getting a uniform code base is an abstract, group-centered goal. Seeing your application work in a fraction of the time it took you before is a very concrete, individually rewarding goal."

netcasper:始终搞不清coding standard是指什么?有时似乎是指使用某种编程语言的注意事项,也有时是指代码的格式。上文应该是指后者,其实如果是前者的话还是会受到欢迎的。