Sunday, January 31, 2010

Reading Dilbert

Practicing Programming 的时候,又看到 Dilbert,查了查维基百科,他中文名叫呆伯特 :D 维基百科的这个页面极度搞笑,于是终于决定订阅来看看。

看了几篇的感觉是,得多看几遍才能找到笑点。文化差异和语言水平啊...

不过确实很搞笑,比如今天的这篇:

同事A: 华利,能帮我个忙吗?
华利:没问题。谁叫咱们是朋友嘛。
华利:毕竟,我如果求你帮忙,你肯定会帮我的,对吧?
同事A:呃... 肯定的。
华利:对啊,你一定会帮我的。
华利:那就请帮我个忙,别让我帮你忙。
同事A:...

同事B: 你真是个高手啊,能把人际交往的法则运用成魔法一样。
同事B: 你是个光头哈利!
华利:别跟秃顶魔说啊。
(尖发老板从背后经过...)

关于这个漫画,刚开始看,还不认识那两个同事。

"What are friends for?" 一开始没明白,想到老友记那去了。

精华在 Hairless Potter 跟 Baldemort。分别是哈利波特(Harry Potter)跟伏地魔(Voldemort)的谐音,看了漫画下面的评论才明白。网站有评论,这点不错。

看大写还不习惯 :)

Friday, January 29, 2010

Practicing Programming

英文还是中文,倒确实是个问题。写多了英文,有时候就觉得,英文没学好,中文也成了半瓶醋。所以这一篇拿汉字写吧,按照ESR的说法,用母语写作也是个很重要的能力 :)

这篇文章主要是推荐几篇跟编程相关的文章。我本人还没法回答“如何提高编程能力“这样的问题。

为了解决我周期性的迷茫(如何提高编程水平),今天读了一些文章,包括看过几次的 How To Become A HackerTeach Yourself Programming in Ten Years。然后找到 Steve Yegge 写的这篇 Practicing Programming,我觉得很值得(硬着头皮)从头读到尾 :)

编程是独特的,因为多数程序员不训练自己的技艺,至少不像其他专业领域的人一样特意、专门地训练,比如音乐家们都有严格、有效、多年传承下来的练习方法,运动员每天都刻苦训练;我开始健身这两个月,也看到了练健美的人都很熟悉自己的每一块肌肉,有清清楚楚的训练计划,能够一天一天的稳步增长。但(多数)程序员不太一样,至少这个论断适用于我自己,也就是觉得自己了不起,自己用的技术了不起,别人和他们的技术是那么的丑陋、那么的落后啊 :D

再者,编程不像健身,肌肉的锻炼方法都很清楚,不像音乐,整个体系都很完善。对于程序员,从来没有人能发明一个合理的评估方法,而且也没有什么训练体系。多方面的原因导致,没有多少程序员会像一个吉他手或者一个健美先生一样坚持训练自己。

以上多数都是另一篇 Being the Averagest 的观点,也很值得一读。

我倒是明白训练很重要,不过我一直以来的困惑就是该如何提高自己,读了那么多书本,那么多文章,到现在还是很困惑。计算机技术有那么多,从哪入手?读代码?有那么多的代码,内核、驱动、桌面,真正看起来不过是一堆的变量和函数嘛。写代码?说起来很丢人,可是不知道写什么东西。

Practicing Programming 讲的就是_如何_训练,提出了一些很启发人的观点(虽然,我还是困惑...)。作者将其总结成了几条 Practice Drill。

比如,经常更新自己的简历,列出自己所有的技术,看看哪些技术在100年后还是被需要的,据此给自己打打分。当然,我觉得100年有点长,整个计算机行业还没多少年呢,但可以想想30年的时间跨度,也就是上世纪八几年跟今天的对比。也就是 Sun 公司从成立到被收购的时间...

另一条,列一列你敬仰的程序员们,写写他们有哪些地方做得让你敬仰,也就是你希望自己能做得一样好的地方。

学音乐的人都会了解几百年来的音乐大师,练健美的人也都熟悉施瓦辛格... 所有专业领域的人都会学习本专业的历史,所以,看看维基百科上的这个列表,List of pioneers in computer science,随便挑一个,读读他的事迹。我个人觉得这一条相当棒,最值得实践。

别的就不抄了,比如读别人的代码等等。

这篇文章感觉很有帮助,首先程序员需要知道编程也是要训练的(Being the Averagest),然后要知道有什么训练办法,而且我们能够借鉴其他专业,他们都发展了那么多年,积累了那么多的经验。文中就跟音乐类比了很多,提出了不少类似的地方。

Saturday, January 9, 2010

created a mailing list for gnome-developer-kit

[Update: the mailing list is now @gnome.org: gnome-developer-kit-list@gnome.org, the web page is at http://mail.gnome.org/mailman/listinfo/gnome-developer-kit-list.] Many thanks to Jeff Schroeder for the comment and to the gnome admins!

I came to realize that the number of gnome-developer-kit users is quite small. However, this doesn't stop me from creating a mailing list for it. So, here it is, gnome-developer-kit-discuss@googlegroups.com, a google group. Feel free to drop any message about the developer kit.

Policy is first post from new user is moderated. Also I wonder who took the gnome-developer-kit@googlegroups.com address...

P.S. gnome-dev-kit packages have been refreshed, though the newest iso/image is still last year.

Friday, January 8, 2010

what am i doing recently

[boring narrative about my personal life, skip this if (as I suppose) you don't care]

No post for a really long time now...

I decided to summon up enough courage to continue my blog. The thing I came to realize is that, if there is no post today, there won't be tomorrow. So, time for a change!

* I am doing internship now, as this is the last year of my college. I should be out hunting jobs, but I am not, and sitting unhurriedly here at Sun (Sun China Engineering and Research Institute), half hoping that it (Oracle?) will hire me once the acquisition is completed. What we are doing here is on graphics drivers, that is, porting Linux drivers to Solaris (Yeah, it's X/MIT, not GPL). Quite interesting, kernel stuff and involving both Linux and Solaris, but here I will be brief about it.

* Working really make my life different. It consumes a regular and big piece of time everyday, and so changes how you do things and the way life goes by. It changes how you model the expense of food/clothes/everything; "oh that thing is 200 bucks (read kuai/RMB), takes me less than two days' work, so not so expensive" :).

* And time. That's what matters. The whole day is for work now. Everything unrelated, purchasing/exercising/surfing internet, must wait until evenings and weekends . Of course that includes all the open source/fun projects I am (was) in. Time for those is limited now, which is sad.

* My code of the GSoC project is still sitting in the now-silent branch. Maybe bit-rotting. It is sad too and I hope to change the situation.

* I am doing regular exercise/work-out with my classmate and also colleague. It has been more than two months and feels great! Thanks to him.

* It still seems to me a good decision to jump into industry and (at least for now) avoid graduate school. I have learnt a lot ({non-,}technically) here at Sun. And, working makes me think and think differently. Though I realize I have to remind myself of this, as time is so short that sometimes you don't bother to THINK.

* I am waiting for the school to finish, so I can move out (of students' dormitory and the lifeless campus), live on my own and manage my time freely. So promising...

* I finally understand that, this is _my_ blog and I should feel free to write anything. Think too much in the past :)

That's all.