2005-12-31

Top 5 Articles in http://del.icio.us/netcasper/opinion

  1. Taking charge of your own destiny
  2. Preface to the First Edition, "Structure and Interpretation of Computer Programs"
  3. Teach Yourself Programming in Ten Years
  4. Maintainable Programmers
  5. The Perils of JavaSchools

Work at Intel

“应聘Intel痛苦经历! 披露六大价值观”()系列文章描述了一位求职者应聘Intel的经历(前两篇),并对Intel的价值观、薪资福利体系和工作环境进行了详细的介绍(后三篇),对于求职者和希望了解Intel的人非常具有参考价值。

免责声明:本人推荐此文,并不表示确认原文的介绍属实,也不表示赞同原文观点。如原文与实际情况不符,本人概不负责,特此声明。

2005-12-29

WangLiangHome.org is under construction

只用了一天,我的域名就可以访问了,连忙放了张首页上去,正好刚刚拍了紫竹的照片,其中一张比较符合“建设中……”的意境,也一并放上去了。

然后开始四处发“广告”,5460上发帖子,给熟人发信,把MSN昵称改成“WangLiangHome.org上线”。总之,想尽一切办法推广,哪怕只有一张页面。:-)

几个朋友知道后问我做什么样的网站,其实我也没有很清晰的定位,不过肯定是关于我自己的(非商业性质),不然也不会“拼命”以自己的名字作为域名

从昨天晚上开始一直在尝试Remote Calendar,找了几篇文章(),但一直没有成功,今天上午又花了点时间才搞定。另外,又抽空在首页上加了计数器,不过我们在公司通过代理访问,计数一直是“1”,并不增加,看来帮助才明白,原来同一IP连续访问计数不会增加。

2005-12-27

wanglianghome.org

DreamHost购买了两年的虚拟主机服务,以及域名www.WangLiangHome.org,共花了93.8美金,用招行信用卡刷的,这还是我第一次刷美金。由于用了kunstao的promotion code,节省了97美金,便宜了一多半。

原本想在ipowerweb.com申请,有10G空间,更多的流量,但是后来发现DreamHost提供的功能更多,甚至有Image Magick、Ruby on Rails和WebDAV。而我毕竟是第一次购买虚拟主机和域名,第一次真正地在Internet上搭建自己的网站,刚开始的时候肯定用不了太多的空间,也不会有太大的流量,倒是功能多可以让我尝试更多的东西,更何况DreamHost每周会自动增加空间和流量,也算一种独特的拉拢顾客的方式。

其实本来想申请个www.wangliang.org,要不www.wangliang.com也行,没想到被同一家(旺亮)公司购买了,实在郁闷,你买.org域名做啥呢?没办法,想破头也没想出个好名字,差一点就选了www.netcasper.org,不过最终还是选择了现在这个,名字不行就加个后缀,哼哼!

等DNS好了之后就把结婚照传上去,让爸妈看看!:-)

2005-12-24

Byebye Shanghai Mart

公司搬迁的日子终究还是到来了,“别了,世贸商城!”,我不禁感伤起来。说来奇怪,这还是我第一次因为离开一个地方而心情不好,老婆说,那是因为以前都是奔向更好的地方(或前程),而这一次,去的地方叫“紫竹”。老婆半开玩笑的话有点道理,但更深层次的原因是,我深深怀念着在世贸商城工作过的33个月时光,这里充满了我的回忆,是我自认为成长最快的一段日子。在这之前,我从没有留恋过过去,甚至在离开浙大三个月后就有点想不起来七年求学生涯究竟是如何度过的,也由此怀疑自己是否有点薄情寡义。可是就在这两天,脑子里却不断闪现过去33个月里发生的一幕幕,心情也有些沉重。所以,在上个星期五,也就是在世贸商城工作的最后一天,我带上了数码相机,拍下几张照片以示记念。(点击图片看原图)

世贸商城大楼外景,我在23楼。

我的座位打包前的样子,白板上写着“别了,世贸商城”的字样,以表我的心情。有老外看见,问上面写的什么,同伴告诉他,"Goodbye, Shanghai Mart"。后来,我写上了“风萧萧兮易水寒……”,似乎更加悲壮:-(

打包后的样子,整洁了不少。

座位旁边的打印机,经常出毛病,日子久了,也会解决一些小问题。有些同事碰到卡纸了不知道怎么办、或者没纸了也不知道去哪里拿,我就帮帮他们,也因此认识了一些人。

2005-12-22

HTML editor issue of WordPress.com

似乎WordPress.com提供的HTML Editor并不是真的"HTML Editor",它会做一些处理,比如我直接写>,在某些时候它会变成>,看似不正确,可在生成的页面上却能正确显示;而在另外一些情况下,它会被删除。我搞了好久才发现其中的奥妙,这才把程序缩进搞定,要写四个 才能成功显示四个空格。

非常郁闷,还是blogger.com的好,想怎么写就怎么写。

2005-12-20

结婚照

经过四十多天的等待,终于拿到了结婚照。:-)

其实不想走

虽然投了简历,却并没想真的换个工作,所以跟对方说希望薪水能够涨一倍。因为我实在想不出除了钱(很多钱),还有什么能让我跳槽。:-)

当然,Intel并不是除了给钱少剩下哪都好。她有一些令我不满意(甚至很恼火)的地方,而且不能算少。但是,确实也有我非常满意的地方,以至于我宁愿忍受不满,放弃些许薪水。

一周后,对方开出他们能够承受的价码,离我的期望有相当的距离,当然,这在意料之中。面试时对方就曾说过,都是国际性的大公司,薪资水平不会差很多的。这个我能理解,只是不知道对方能不能理解我。这是个不错的职位,可惜不是我想要的。我只在乎自己的技能是否精深,却不愿意走先高官再厚禄的发展路线,更何况还是“可能”。这样的机会送给我,真是暴殄天物了。可惜无论怎么解释,猎头似乎都不能(不愿?)明白,仍然以“机会难得”相劝。

我清楚地知道自己真的不想“当官”,只想写写程序()。但是当我对16k说byebye时,居然产生了一点点悲壮的感觉,这让我吃了一惊。:-)

2005-12-16

有一点点得意

昨天项目组20几号人开了个会,讨论未来的发展方向,俗称brainstorming。会议气氛相当活跃,大家各自说出自己对现状的不满以及未来的发展方向,其实我也对这个项目(以及其采用的技术)有很多想法,只是这一次,我不想再从技术角度谈了(其实是不想成为祥林嫂)。我是个消极的人,当多次提出(技术)倡议却不能得到响应时,便不再坚持了。尽管这一次换了角度,我仍然不认为自己的想法能够成为现实。但还是决定说一说,哪怕是为了心理卫生。

我说:“大家都有很多想法,但是这么多年,想法还是想法。如果说我们不能像Google那样给每个员工20%的时间做任何事,那么能不能给我们20%的时间做跟项目相关的事?让大家把自己的想法实现出来。事实胜于雄辩,有些事情是说不清楚的,也不可能得到所有人的同意,只有实实在在的成果才是最有说服力的。其实有些人已经在这样(偷偷地)做了,但是他们难免会有负罪感,成功了还好,要是失败了呢?……”。

没想到我的一番话引起很多人的共鸣,大家或公开发言、或私下里向我表示,我说到了他们的心里。看着大家不再讨论技术细节,而是随着我的话题延伸开去,不禁有一点点得意,尽管我知道,想法很可能还会只是个想法。

2005-12-15

del.icio.us is down

del.icio.us不在的时候,只能在帖子上收藏链接了。

Links:

Comments:

The reason that del.icio.us is down is

"power failure
By joshua on service alert

Our datacenter has had full power outage, and we are now recovering from the aftermath. About half of the machines are still down and we are working on bringing them back as soon as possible. To keep things moving, I've turned off RSS and some other features so that posting will still work and so that you will still have access to your bookmarks.

5pm EST Update: Everything is back up. We apologize for the inconvenience. It looks like a number of slave servers are corrupted. We're rebuilding them now and taken the site down so this goes as quickly as possible.

Update: Some servers are coming up. Should be going much faster from here on in.

PS -- we are obviously not yet on the Yahoo! infrastructure, and this is exactly the kind of stuff they can do a lot better for us (and you.)"

from http://blog.del.icio.us/blog/2005/12/power_failure.html

2005-12-13

Create blog at wordpress.com

wordpress.com建了一个新的blog,http://osstips.wordpress.com/ (RSS),内容是"tips for open source software",其实在这里也记录了我在使用OSS时的一些感想,但是在新的blog上,我将侧重于细节,即详细描述我在实践中获得的经验,而不是想法或感想。另外,这将是我第一个全英文的blog,算是为自己增加英文写作和交流的机会。

2005-12-01

简历

工作后做过一些筛选简历和面试的工作,感觉多数简历显得苍白,便想着自己也写一份,看看是什么感觉。不过人太懒,一直没有动手,直到最近,有猎头来骚扰,虽然没有换工作的打算(尤其是年底),但还是发了简历过去。

掂量了半天,发现自己的简历也不过如此,没有什么惹眼的内容,有些失望,难道三年光阴真的就这样蹉跎了?

中文简历

姓名王亮性别出生年月1977年10月
求职方向软件开发
职业技能
  • 五年C++开发经验,了解泛型编程并有实践经验,在研究生阶段使用过STL。了解设计模式并能适当运用于项目开发。
  • 一年Perl开发经验,使用过一些Perl Module,比如XML::SimpleXML::WriterGraphViz等。
  • 一年正则表达式使用经验,能够使用多种不同正则表达式,如Perl,Emacs,sed和grep等,对文本做分析和替换。
  • 工作在Cygwin环境下近三年时间,会写makefile,shell脚本,在工作中经常使用一些GNU软件,如cvs,sed,find和grep,以及利用man和info学习不熟悉的工具。
  • 三年Emacs使用经验,会用Emacs Lisp定制Emacs。曾为我们的编译器中间语言写过一个Emacs Mode,能高亮显示重要信息,以及快速移动光标到特定位置,如函数头、尾等。
  • 一年GraphViz使用经验
工作经验
软件工程师,开发编译器,英特尔中国软件中心,上海,从2003年3月31日至今。
  • 设计、实现了一个用于嵌入式设备的C编译器的调试信息支持功能,主要工作内容是使用户能够调试经编译器优化的代码,历时近三年。此功能仍在进一步优化、完善中。
  • 与美国同事合作制定开发进度并一起编写程序。
  • 与调试器组(在德国)合作以消除误解、协调开发进度。
  • 用Perl开发调试信息测试框架,前后历时一年半,主要用来做编译器调试信息的质量控制。
  • 多次做关于编译理论和产品实现的同级培训,以加速成长、分享知识。
教育背景
  • 硕士,计算机科学专业,浙江大学,杭州,2000年9月至2003年3月
  • 学士,计算机科学专业,浙江大学,杭州,1996年9月至2000年7月

Resume

NameWang, LiangGenderMaleBirthdayOct. 1977
Career Objectivesoftware development
Skills
  • Five year C++ development experience. Used STL in university, and have basic knowledge and experience about generic programming. Understand design patterns and use them in project modestly.
  • One year Perl development experience. Used modules such as XML::Simple, XML::Writer, and Graphviz.
  • One year regular expression experience. Be able to use flavors for Perl, Emacs, sed and grep to parse or replace text.
  • Work on Cygwin for nearly three years. Be able to write makefile, shell script and use basic GNU tools, such as cvs, sed, find and grep, in daily work. Be able to learn unfamiliar tools using man and info.
  • Use Emacs as primary editor for nearly three years. Be able to customize emacs with Emacs Lisp. And wrote an Emacs Mode for intermediate language of compiler to highlight important information and to facilitate navigation. Help three team members(6 total) to learn Emacs and use it in daily work.
  • One year Graphviz experience.
Working Experience
Software Engineer, compiler developer, Intel China Software Center, Shanghai, from Mar. 31, 2003 to now.
  • Design, implement and improve debugging information support of an embedded c compiler, especially support on debugging optimized code to satisfy customers' debug requirements on limited development environment, for about three years.
  • Collaborate with US team members to setup schedule and develop compiler. They are located at different sites in America.
  • Collaborate with debugger team to eliminate misunderstanding and align development schedule. They are based on Ulm, Germany.
  • Develop and improve debug test framework using Perl for one and a half year. Debug test is used to track quality of compiler's debug support.
  • Deliver peer training, including both theory and implementation, to team members and group members to speed up growth and share knowledges.
Education Background
  • Master of Computer Science, Zhejiang University, Hangzhou, Sep. 2000 - Mar. 2003
  • Bachelor of Computer Science, Zhejiang University, Hangzhou, Sep. 1996 - Jul. 2000

Graphviz on Cygwin

我装的Cygwin里面没有dot,而Windows版本的dot不能被Graphviz Perl Module使用,于是决定自己build一个。2.6版本一直没有成功,倒是前天从cvs server上check out出的源代码最后build成功了。这次经历让我感到有强烈的需求去学习Linux编程。

即使build成功了也不是一切顺利,事实上有unresolved symbol error出现,原来是少链接了graph和pathplan,把它们加上,然后手工运行一下错误的那条命令,通过后继续make就可以了。不过make install仍然有问题,说有dll找不到,这时需要手工把build出来的所有dll文件复制到安装目录的lib子目录下,然后把lib子目录放到path环境变量里。这时就可以运行dot -h看help了,但是在做任何实质性工作前,还要运行一下dot -c去配置一下插件。这时才算一切ok了,dot可以用,Graphviz module也可以用了。

2005-11-28

缅怀John Vlissides

巨星陨落,令人动容,仅以此帖略表崇敬与缅怀之情。

消息是从Grady Booch的blog了解到的,可惜没有找到单个帖子的链接。也可以参见John Vlissides Remembered或者John Vlissides

AutoDia on Cygwin

前面提到过没研究出怎么生成dot,刚刚看了源代码,发现原来是用-o选项控制,如果输入文件后缀是dot就生成dot文件,同理可生成png、jpg等等。当然同时一定要使用-z选项。

另外,一定要使用Cygwin Graphviz才行,如果没有可以自己build一个

perltoot

perltoot全称为Tom's object-oriented tutorial for perl。说实话,看了好几本书没学会怎么用Perl做OO,直到看了这份文档。

昨晚国米虽然赢了,但踢得不是很精彩(尤其是下半场),所以就拿出perltoot边看边听比赛。文档写得深入浅出,不愧称为tutorial,在吹响终场哨之前看完了这28页纸,基本上不再茫然了。不过开始看Accessing Class Data一节的时候不太明白,索性略过去,看到后来就明白了。

感觉用Perl做OO怪怪的,尤其是那个bless,就没理解过(现在想来我的理解能力可能有点问题),后来学Scheme时看到Tagged data也没什么感觉,直到这次再学Perl的OO,联系起来才算明白了。不过,好像很多module都设计成能以OO方式运用,而且我打算尝试perlunit,不学不行啊。

2005-11-25

UML class diagram生成工具——AutoDia

这一段一直在学CppUnit,便想着也尝试一下PerlUnit,正好有些事情要用Perl,就下载了瞧瞧,里面提到了AutoDia,这个我梦寐以求的小工具。

其实Doxygen也可以生成类图,但是是作为文档的一部分,而AutoDia则可以生成独立的类图文件,除此之外,它不做任何其它的事情。

不过AutoDia也不是尽善尽美,它生成的Dia xml文件并不是最终结果,仍然需要load到Dia里面,再做手工布局,倒是利用GraphViz可以一步到位,不过它直接生成gif文件,还没研究出怎么生成dot。说实话,我差点就想自己写一个类似的工具,现在既然知道了AutoDia,那不妨在它的基础上实现自己的需求。

2005-11-24

新生活

住进了新家(当然还是租的),也就开始了新生活。

房子总体上还不错,但也仍有一些小的瑕疵,而且装修的味道还没有完全散尽。搬家是在上周六,找了两个朋友帮忙,叫了辆货的,完事了请他们在多利吃了午饭。然后我和老婆就开始疯狂收拾,累得腰算腿疼,同时又疯狂购物,一天去家乐福好几趟,到星期日的时候总算有了点模样。从星期一开始,我们又过上了自己做饭吃的日子,上次正经做饭吃的日子都已经不记得了。

可这新生活到底怎么个新法现在还没底,吃完饭洗个澡差不多就该睡觉了。另外,婚礼的事也得抓紧了,换房子才算刚刚开始呢!

2005-11-14

misunderstand CppUnit::TestFixture::setUp ()

昨天在读《测试驱动开发:实用指南(影印版)》的时候突然发现自己对setUp()的理解有错误,原以为setUptearDown在所有testMethod运行前后只调用一次,还感到奇怪为什么不直接利用构造函数和析构函数。原来这两个方法是在每个testMethod前后都要调用一遍,这才明白了它们存在的意义。

“身价”暴涨三倍

终于签了新合同,月租金从现在的800(合租)暴涨到2400,这将是我来上海不到三年时间住的第三套房子。现在这套房子住了还不到9个月,当初租房的经历还记得很清楚。

这次搬家主要是因为要结婚了,一来要有个新婚的感觉,二来像现在这样两家人住在一起确实不太方便。不过一开始也没想租这么贵的,主要是中介强烈推荐,所以就先看看,租金中介帮着谈了谈,确实降了一些,物业费也由房东来付,由于是新房,物业费还是挺贵的,每平米1块6。开始房东还不肯,后来想着也就一个月不到的租金,如果现在租不出去,年底就更难租了,这才同意了。

2005-11-08

今天comment两篇blog

读周爱民的《大道至简》

这种小册子很适合打印出来,然后在乘地铁时看,但我还是在上班时间看完了。:-)

第五章写得很好,还有第七章第一节。

有些地方跳过了,感觉离自己很远,尤其是后语那句“那是细节”,非常之不受用。文中曾经提到开发产品与做项目的区别,我想两者所适用的软件工程也应该是不同的吧。我用开发产品的感受去套用作者的经验,难免有误读之嫌!

希望有志于从事编程的人能够报着“取其精华、去其糟粕”的精神来阅读这本小册子,另一方面,带有贬低编程味道的软件工程书籍是最难被程序员接受的,所以,尽管有些反感,还是希望你能读完他,哪怕跳过其中你认为无趣的部分,毕竟它并不长。

附:

2005-11-04

第一次尝试TDD

今天用搭建好的CppUnit做了人生第一次TDD,新手上路,难免显得笨手笨脚,但是仍然感受到了TDD带来的震撼。

首先,每个case都很小,使得发现问题、解决问题的速度很快,极大地缩短了开发周期。其次,这种测试方式使得每个模块不得不写得高内聚低耦合,而这恰恰是高质量软件的特征之一。

当然,工具虽好,也要会用才能发挥其威力。由于是初次使用,还无法做到从最简单的测试开始,上来就写个复杂的,当时还自以为够简单,等测试出了问题才发现有更简单的case没有写。这就好比等到产品出了问题才发现,原来其中一个部件没有测试过,实在不能算是正确的开发方式。陋习难改,还需多加实践啊!

2005-11-01

开始TDD

仰慕TDD以久,一直找不到机会尝试。这次趁着release期间有空,开发了个patch,在应用了这个patch后,我们的编译器代码就可以利用CppUnit做白盒测试了。由于某些不可抗力的存在,这个patch不能check-in,不过因为受影响的几个文件基本不会更改,所以这种打patch的方式还能凑合着用,不至于有过重的维护负担。

有了CppUnit,就可以做Test-Driven Development。实践是检验真理的唯一标准,也是学习知识的最好方式。书读了两本,文档看了一对,可究竟怎么做TDD还是懵懂懵懂,没有一点感性认识。幸运的是,这样的日子即将成为过去,从明天开始,咱也TDD了:-)。

选照片记

上周日如约去杭州百合新娘选再前一周拍好的结婚照,共拍了100张,选来选去不忍割舍,最终加了924块钱,将100张全部刻到光盘里,其中49张分别做到3本相册里,一本18吋两本12吋。要到12月15日以后才能拿到,还真够漫长的。

2005-10-31

blogspot.com半解禁?

很奇怪的现象,用firefox通过杭州网通可以访问,但用IE就是不行。回到上海后用电信ADSL就连不上。难道是因为政府公关正在进行中……?

2005-10-27

昨天的帖子曾发布失败

昨天写完结婚马拉松正式开始,点了“发布帖子”按钮后被告知发布失败。这还是我第一次遭遇这样的情况,点了浏览器的“后退”按钮后发现标题还在,但正文已经没有了,真是欲哭无泪啊!只能凭着记忆重写了一边。

教训啊!下次发布之前一定先保存!

2005-10-26

结婚马拉松正式开始

上周六拍了结婚照,结婚马拉松算是正式开始了,然后准备买西装、戒指,以及筹备婚宴等事项。这么多事,光是想想头就大了,但是父母含辛茹苦把咱养这么大,辛苦两天不算什么!(咬着牙说)

其实我们结婚证去年就领了,之所以一直拖着没办,就是因为上海变态的房价,如今决定不买房了,租个好点的就行。

结婚照拍了一整天,从早上7点到下午4点。因为是周六,人比较多,除了十几对拍照的,还有当天办婚宴的新娘来化妆。不拍不知道,男人的地位真低啊!无论换几套衣服,都是老婆先换好,然后根据老婆的选择再给老公配,从来就没先问过咱男人的意见,还仿佛是理所当然的!还有老婆每换一套衣服就要重新做头,男的就只有坐在厅里等的份。

我们是在杭州拍的,百合新娘。4888元的套餐连减带打折只需2800多,外景是杨公堤。老婆自己做了一点调整,去掉了一些不想要的,换了一个额外的外景。不过这个外景可把我害惨了,老婆选了一套极狂野的衣服,然后她跑到里面去化妆,留我一个人在厅里让大家看笑话。杨公堤的外景拍得倒是不错,可惜摄影师都加了滤镜,好看是好看,但不“自然”了。拍好后在路边等车的时候正好一队初中生路过,一群女生看到老婆后“哇”得叫了出来,极大地满足了老婆的虚荣心,但也没忘了埋怨我为什么对她没兴趣。审美疲劳?

拍内景就有点无聊,很多时候都是老婆拍咱在一边看着,而且看得出都是套路,想要没有雷同恐怕很难。不过也有大胆的,我们走的时候就有一对帅哥美女换了浴袍去拍照。工作人员对来拍照的顾客一律称为“帅哥美女”。

我们拍的是数码照片,这个周末去选照片,大本相册20张,小本18张,光盘里可以放40张。然后再过一个月可以拿到,期待中……

2005-10-24

校园招聘

又到一年一度的校园招聘了,以前也做过筛选简历和面试的工作,不过都是找实习生或有工作经验的,候选人很少,拿到简历后大家可以讨论、商量。校园招聘就不同了,成千上万的简历投过来,而且时间紧迫,筛选简历的过程就简化了,每人分到几十个,也不用讨论,一个人决定就是了,而且要一天搞定。

这是我第一次做校园招聘。虽然以前我也相信招聘过程受很多主观因素的影响,但是没想到会简化到如此程度(当然,这只是筛选简历参加笔试)。对求职者来说,“通过”还是“不通过”,这是个问题。但对于我来说,却完全是鼠标轻轻一点,结果只在转念之间,且在很大程度上取决于个人好恶……

做这样的工作让我感到很痛苦,仿佛手握生杀大权,却干着草菅人命的勾当。想想都后怕,真不知自己当初是如何渡过这一关的!

连wikipedia.org都被封了

真不知还有什么事干不出来。还有王法吗?还有法律吗?

2005-10-20

wiki起步

最近兴起,开始学wiki,收集了一堆的信息,还用Oddmuse搭了一个来玩玩。著名的Emacs Wiki就是用Oddmuse搭建的。

Oddmuse装起来很简单,只有一个Perl脚本,当然,这并不意味着它的功能很简单,有很多的扩展可以在Oddmuse的wiki上找到,我装了其中几个,感觉不错,不过好像Source Code Beautification Extension在显示Perl程序时有点问题,“<”和“>”不能正确显示,暂时没有发现问题所在。可以把lt和gt从keywords里面删除,当然这样的话这两个函数就不能被高亮显示了。

玩过blog后再玩wiki,感触良多。wiki似乎比blog更适合做个人网站,因为它不仅可以实现blog的功能,而且可以作为一个Content Management System (CMS)。当然wiki也有它的弱点,不过到底wiki适合来做什么我还没想清楚,也许百科全书真的是最合适了,每页的主题相对独立,又可以自动生成链接到其它相关内容;而对于较长内容、或需要不同发布形式(不仅仅是HTML页面),可能wiki就不太合适了。

2005-10-18

Google Desktop 2 中文版

原来装的是英文版,每次关闭Outlook(公司用Exchange,没办法)时都会弹出一个崩溃对话框。换了中文版后就不再出现了。

为了赶时髦装了这个东东,可惜很少使用,不过感觉cvs checkout慢了许多,不知道是不是心理作用,也许像我这样成天check out代码的机器不适合装Google Desktop Search

大牛终于离开微软了

大家庆祝一下!

详见Ward Cunningham leaves Microsoft for Eclipse

2005-10-17

国米换了中文胸前广告

倍耐力轮胎

到家时已经是1:0了,开始没注意,后来发现,国米的胸前广告换成了中文的“倍耐力轮胎”!不过感觉有点怪异,轮胎两个字放到上面算怎么回事,各位何时见过“耐克鞋”、“可口可乐饮料”或者“欧宝车”这样的广告?

新浪对此事的报道

2005-10-11

订阅Feed新体验

最近又开始看新闻组,突然发现Google Groups也支持RSS,就想着也订阅一下,不过有些group里面垃圾信息太多,不忍心浪费bloglines的空间,所以尝试了一把Google Reader,可惜无论怎么尝试也没成功,于是换了Thunderbird,看FAQ时发现可以用proxy,就把一些不怎么重要的feed搬到Thunderbird上了,比如新浪新闻什么的。

后来才发现,如果只是用个代理什么的,根本不用装扩展,Thunderbird本身就支持的。可惜用Thunderbird看Google Groups字体太小,没办法放大,只能打开一篇然后按Ctrl +来手工放大字体,比较郁闷。

刚刚发现,Thunderbird在更新Feed时产生了很多重复条目,这可不太好,再看看别的吧。

找到删除重复条目的方法了。

2005-10-09

ThoughtWorks在西安设立办事处

想做Martin Fowler的同事吗?看这里

没有设在北京或上海,确实有想法,为啥不在杭州呢?嘿嘿!

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是指什么?有时似乎是指使用某种编程语言的注意事项,也有时是指代码的格式。上文应该是指后者,其实如果是前者的话还是会受到欢迎的。

2005-08-31

Blogger.com is launched in China?

今天在Google中文主页上看到宣传blogger.com,可是既然blogspot.com被大陆屏蔽了,这样的宣传又有什么用呢?很是困惑。

不过还是希望解禁的日子早点到来,毕竟写了blog还是希望有更多的人能看到啊!

升级Kernel

前两天升级了Kernel,发现系统时间不能和CMOS时间同步的问题被解决了,也就是说,原来只改系统时间是没用的,因为CMOS时间没变,这样,重起之后时间又回去了。现在终于搞定了。

不过还是有个问题没解决,就是Panel上的音量不能调节,原来是可以的,不知道哪次升级Kernel之后就不行了,然后CD、VCD都看不了了,不知道为什么。

我的电脑是Dell Dimension 4700。

2005-08-29

平等

Martin Fowler Bliki: Diversity: To deal with this, I need to relate another favorite story, this time a recent one. A prospective client of ours gave a talk that included some thoughts on race that seemed to come out of 1930's Alabama. Just about everyone was offended, but the best reaction was from a young black analyst which I'll paraphrase as: "When he says things like that I don't want to walk away from this job in anger. Instead I want to work with this guy, to be in his face with my abilities and professionalism. People like this won't change if no one is there to show them differently. People need to step up and be change agents even when its uncomfortable."

netcasper:看来追求平等需要相当大的勇气!另一则消息是Apache hopes to encourage female coders

Choosing The Platform [@lesscode.org]

Choosing The Platform [@lesscode.org]: "Given those basic metrics, choosing a platform comes down to making two key decisions: where do you fall on the safety/freedom scale and in what manner would you like to proceed? Your remaining time (e.g. forever) will be spent doing one of two things: making the platform more safe or making the platform more free. You have infinitely greater control over one of these situations."

2005-08-27

学习清单

china-pub.com拟推出一项特色服务——学习清单,借此机会我来分享自己的体会。

我是2002年1月在china-pub.com注册的,前前后后买了不少的书,C++的最多,但这次我并不想推荐C++的书,并非没有好书,只是相对一个程序员的整个知识结构来讲,任何一本讲述程序设计语言的书都显得过于具体了。因此,我的学习清单上列出的书都是曾经和正在帮助我完善知识结构的书,这些书不仅讲述知识,还告诉我们一个程序员应该具有的价值观。

以下是我的学习清单:

  1. The Pragmatic Programmer

    (美)Andrew Hunt,David Thomas

    这是一本应该被翻烂的书,更是一本该在翻烂后再买一本的书。

  2. Software Craftsmanship

    (美)Pete McBreen

    如果你热爱编程,这本书会告诉你这并没有什么丢人的,恰恰相反,它值得你付出毕生精力。

  3. The art of UNIX programming

    Eric Raymond

    牛人写的牛书,开阔视野的绝佳参考。

  4. Extreme Programming Explained:Embrace Change

    (美)Kent Beck

    这是另一本必须反复阅读的书,程序员“反洗脑”的必备利器。

  5. Programming Language Pragmatics

    Michael L.Scott

    译者:裘宗燕

    程序设计语言是程序员赖以生存的工具,却不应该成为程序员捍卫的对象。这本书跳出单一语言的范畴,为程序员拨云见日,指出一条光明大道。

    前面四本我都是读的影印版,如果这本也有影印版就好了。唯一的遗憾。

2005-08-26

光懒是不行的,还要呆!

Why Good Programmers Are Lazy and Dumb:

It’s like the story of the centipede. The centipede was very good at walking with its hundred legs. It never spent a thought on just how it could walk. Until one day, when a big black bug asked the centipede “How can you manage to walk with all those feet? Don’t you find it hard to coordinate their rhythm?” The black bug already left, when the centipede was still sitting down, pondering how it could walk, wondering, and (for the first time in his life) even worrying a little bit. From that day on, the centipede couldn’t walk anymore.

So you better not think too much if you want to achieve something. And of course this is only half the truth, too...

成长

小时候觉得30岁的男人已经成熟得一塌糊涂了,可自己到了奔三的年纪,发现还差得远呢,整个一个未成年人的心态,最近的事让我感觉成长了一点(脸红啊)。

勇于承担责任应该算是成长的标志吧,今天把那个糟糕的接口改了,其实改接口很容易,只不过用的地方很多,以为会很麻烦。最后还是想了个办法,自动化了。综合使用了find, Perl和emacs,尤其是用了emacs -batch的方式来完成实际的转换过程,find和Perl起个辅助作用。其实也没什么神奇的,就是写了一个包含三个正则表达式替换的el文件(elisp程序)。

有了脚本事情就容易多了,然后发现其实承担责任的感觉也不算太糟,以后该试着承担更多的责任,不仅解除了工作中遇到的痛苦,而且赢得了好名声,名利双收,岂不快哉!

2005-08-25

Broken Window

《The progmatic programmer》里有句话,叫“Don't live with broken windows”,大意是说一个破败的地方不会有人珍惜,只会一直破败下去。由此引申到代码,不要让broken window出现在代码中,只要出现一处,它就会向病毒一样散布开来。每个人这时候都会想,反正已经这样了,我又何必费那个力气呢!

我现在就遇到这种情况,一个接口设计得很糟糕,害得我满世界找问题出在哪里。已经折腾了两天了,还是没有抽段时间把这个接口重新设计过。说实话这事有点费力不讨好,而且从表面上看跟自己的任务没什么关系。

突然意识到这样下去不行啊,这样下去broken window会越来越多,必须先把这些broken window修好,因为只有在一个干净、优雅的环境下才会有很高的生产力。

2005-08-21

原名:netcasper's blog

一直想着给这个blog起个更具描述性的名字,却始终找不到好主意。今天终于改了,源于上周的一次培训。这个培训已经做了好几次了,每当攒够足够多的新人时,老板们就要求我再做一遍。

由此联想到一些不愉快的编程经历。通常,宁愿一次次忍受由于设计缺陷给编程带来的不便,也“懒”得去重新设计,只图“尽快”完成手上的任务。其实,这不是真正意义上的懒,自然也不可能做到快。真正懒惰的程序员,应该追求一劳永逸地解决问题,不必再受其困扰。

于是,借此为blog改名之际痛下决心,以后看到不爽的地方一律改之,绝不一遍遍“勤快”地重复着糟糕的解决方案。并将两年多来的工作经验整理成文档,造福新人。

《Google成功的七堂课》读后感

Google成功的七堂课早就出来了,但一直没有买,甚至连这个链接都没点进去过,因为以为是一本讲怎么使用Google的书。上周末去上海书城闲逛,忍不住还是拿起来看看,这才发现是自己搞错了,于是买下来。

看过之后对Google这个公司有了更多的认识,Google令人钦佩的不只有他们的技术,还有他们的价值观,以及他们坚持在实际行动中对价值观不折不扣的执行,甚至不惜得罪某些“势力”。这本书通过对Google股票上市过程的描述,让我更多的了解了股票的知识,使我更加相信这里面存在某些邪恶的东西,这种感觉从我看了《未来刚刚发生》的第一章后便产生了。所以,尽管公司配给我一些期权,但我尽量不去在意里面体现的金钱,因为股票的涨落不是对公司经营的客观、真实的反映。

Google的价值观是向善的,至少在它的两位创始人看来是这样,在我看来也是这样。GNU也有很强的价值取向,但两者有很大不同,如果有一天我也能获得成功,不知道我更愿意是哪种成功呢?To be GNU or Google, It's a problem.

2005-08-18

为什么要用DocBook

硕士毕业论文是用MS Word写的,当初最头痛的就是写完后发现需要在中间加一张图,插入图片是很容易的,烦的是后面的图片序号要相应增一,更难的是在正文用使用的“图xx”这种说法的地方也要更新,改到后来已经搞不清哪个改过哪个没改过。尽管工作后直接用HTML写文档,可这个问题仍然解决不了。

DocBook可以完美地解决这个问题,在写文档的时候并不需要给图片或表格编号,号码是在后期处理的时候自动添加的。另外,利用id和xref可以解决引用同步的问题。这样,就可以在一份文档、甚至是书籍里任意增加图片或表格这一类需要编号的东西了。

除了这个,我还很喜欢caution, note以及warning这一类的tag。太方便了,根本不用为它们的显示效果操心。

2005-08-14

务虚笔记

已经不记得第一次看《务虚笔记》是什么时候了,肯定是在大学期间,似乎是在浙图借的书,看过之后非喜欢,后来又借来看过一次,但是从来没有在书店里找到过,甚是遗憾。

我有个癖好,喜欢的书一定要买一本收藏,尽管买回来不一定会再看。

昨天理发后逛上海书城,发现史铁生的几本小册子,以前没看过,便想着再找找《务虚笔记》,虽然没抱什么希望,都找了好几年,估计是绝版了吧。

当“务虚笔记”四个字真的映入眼帘的时候,简直不敢相信,真是工夫不负有心人啊!拿过来一本,感觉比原先看过的那本要薄,而且发现上面写着“最新修订版”,略微有点失望,因为我就想买当初我看过的那本,而不是什么修改过的。随即想到大概只是修改了几个错别字,倒也无妨。翻开一看,又有些不满,字略小,纸也薄,背面的字都透过来了,尤其是封面,纸质很软,似乎与正文用纸并无太大差别,给人一种敷衍了事的感觉。唉,也许不够畅销吧,我暗自叹了口气,出版社也是在规避风险,节约成本啊。

最终还是买了下来,那种感觉就像了了一桩心愿,抑或得了一个大奖。

附:《务虚笔记》,作者史铁生,南海出版公司2004年5月第1版第1次印刷,单价26元。

CodeZoo介绍

2005-08-12

第一次用DocBook

写文档经历了三个阶段,用Word,然后用HTML,现在开始尝试DocBook。

The Art of Unix Programming的第18章Documentation介绍了几种写文档的工具,DocBook是其中一种,在这一节的最后,作者提到DocBook: The Definite Guide is indeed the definitive reference, but as an introduction or tutorial it's a disaster. Instead, read this: Writing Documents Using DocBook. This is an excellent tutorial.

我读了后者,半天就够了,最多一天就可以读完,都是一些简单的例子。读完后试着写了一个最简单的例子,然后用xmlto把xml文件转成html文件。DTD和StyleSheet文件在Fedora和Cygwin下都有,只要把路径写对就没问题了。具体配置参见mickeyrat写的安装配置Docbook工具。当然,如果用emacs的话肯定离不开PSGML Mode

在Fedora Core 3上安装iPodder(转载)

LinuxQuestions.org - iPodder - Fedora Core 3 - where Linux users come for help: "1. $ rpm -qa | grep py
and make sure you see the following packages:
python-2.3.4-13.1
libxml2-python-2.6.16-3
pygtk2-2.4.1-fc3.1
pygtk2-devel-2.4.1-fc3.1
python-devel-2.3.4-13.1
If not, you must install them before continuing. If you use yum, the following command will help you install those packages:

# yum install python python-devel
# yum install libxml2-python
# yum install pygtk2 pygtk2-devel

2. iPodder requires wxPython 2.5 but unfortunately the version of wxPython package provided along with FC3 (and even FC4) is 2.4. This caused the ugly error 'AttributeError: 'module' object has no attribute 'PyEventBinder'' many people had encoutered. Note that iPodder requires wxPython 2.5 so the latest release from http://www.wxpython.org (version 2.6) doesnt work either (this caused the error 'no module wx' when you install the wxpython 2.6 RPM packages downloading from wxpython.org). Following below steps to install wxPython 2.5 (they are fc2 packages but dont worry):

$ wget http://jaist.dl.sourceforge.net/sou..._py2.3.i386.rpm
$ wget http://jaist.dl.sourceforge.net/sou..._py2.3.i386.rpm
$ wget http://jaist.dl.sourceforge.net/sou..._py2.3.i386.rpm

# rpm -Uvh wxPython-common-gtk2-unicode-2.5.5.1-1_py2.3 wxPython2.5-gtk2-unicode-2.5.5.1-1_py2.3 wxPython2.5-devel-gtk2-unicode-2.5.5.1-1_py2.3

Of course, you can download the wxPython source, build and install instead of using RPM packages.

3. iPodder RC3 requires python-xmms which is not provided in FC3. Fortunately, I found a RPM package of python-xmms at DAG repository.

$ wget http://dag.wieers.com/packages/pyth...fc3.rf.i386.rpm
# rpm -Uvh python-xmms-2.04-1.1.fc3.rf.i386.rpm

4. Okay, the prerequisites are now fully satisfied. You can download iPodder RC3 and follow the INSTALL.linux to install iPodder.

This will get iPodder up and running in FC3!"

2005-08-10

blogger.com user survey

刚刚做了一个blogger.com的user survey,希望它越做越好,也希望有一天大陆能够解除对blogspot.com的封锁。

2005-08-07

工作两年(七)——进入工作的世界

我的一个越来越坚定的信念是,不想做管理,只想写写程序。但是,这并不意味着不需要去学编程以外的知识,Joel就推荐学微观经济学。我就曾经阅读过《竞争战略》一书,写下一些心得,作为“程序员,你的路好走吗?”系列的部分文章(开篇)。

这一次,我将将介绍另外两本书,它们帮助我更加清晰地意识到作为公司雇员,我是如何被管理的,以及如何保护自己,避免走弯路。

第一本叫作《组织行为学精要》(第七版),Stephen P. Robbins著,人民大学出版社。这是“双语教学丛书”中的一本,英文正文,并对部分难句做了中文翻译,特别适合我这种外行和初学者。正是从这本书上,我理解了公司某些现行政策的理论基础。然而,作为一本教科书,不可避免的具有一点学术化倾向,在某些公司根本就不适用。不过不要紧,我推荐的第二本书是《公司政治》,英文名为“The Ropes to Skip and The Ropes to know”,作者R. Richard Ritti和Steve Levy,中文版由中信出版社发行。我在读《组织行为学精要》时曾惊讶于老外如何能将一本教科书写得如此通俗易懂,但在读了《公司政治》后才明白,教科书终究是教科书,无法让人产生爱不释手的感觉。《公司政治》由许许多多个小故事组成,每个故事讲述一个道理或方法,教你如何识别、避让工作中不可避免要遇到的一些浅滩、暗礁,向你讲解一个个看似不可理解的事究竟是如何发生的。我已经在看第二遍了,第一次是在读《组织行为学精要》之前,那时只是觉得好玩,读完就忘了,而这一次,我有了更深的体会。

2005-08-05

有目标,没管理(续一)

距离写这篇文章已经快两个月了,令人欣慰的是有了一点小小的变化——基本上,晚上是自己做着吃了,至少比出去吃的次数多多了。

但是也付出了不小的代价。因为工作地点离家比较远,一般要七点钟才能到家。等到做好、吃好、休息好(不想马上收拾:-()、收拾好,就接近九点了。然后洗个澡,上上网或者和老婆聊聊天就差不多可以睡觉了。这样,看书的时间就完全没有了。不学习不进步,心里总是虚虚的,而且上班时间学东西效果总是不好,会犯困。

另外,英语也很长时间没学了,写blog的次数也少起来了,已经有些时日没有用心写过一篇了。

下面罗列今后一段时间的打算,以免故意忘了:-(。

  • 重新开始学英语。现在上下班的路上会看一点技术文章,以后还是改学英语吧,背两个单词,读两句话。
  • 晚饭后要看书,哪怕只有一两页,贵在坚持啊!
  • 完成工作两年系列最后一篇文章,然后写一个关于Perl编程起步的系列。

后记:既然称作“续一”,肯定是为写“续二”做个铺垫,就算凑一个目标管理系列的blog吧。

只想写写程序

MF Bliki: LeadershipDivide | Martin Fowler:

"A goodly part of the problem is that most delivery folks, in particular technical folks, aren't really interested in the operational management issues. They're interested in the project they're on, and on technological issues generally. That's quite enough to keep the brain full. Questions such as the balancing act between hiring and demand, doing the resource management dance, finding and keeping clients, watching the balance sheet - these just aren't interesting.

I must admit I'm guilty as anyone at this. When I joined Roy gave my carte blance to crash any meeting I wanted to. But even when he's dragged me to operational committee meetings I have to confess I have little interest in the issues they are discussing. I know they are important - it's just that I'd rather have someone else worrying about them. Who knows I might be good at operational management (though I doubt it), but even so it doesn't excite me the way my regular work does - and I have precious little time to do that."

Joel给计算机系学生的第八条建议

Joel on Software - 给计算机系学生的建议:

"但解释之前我要说明一下,如果因为这些建议是Joel的建议你就打算无条件地接受,以至于连我的理由都想跳过,那么你就太单纯,太容易被别人骗了。如果你是那种单纯的人,我还要给你第八条建议,找心理医生咨询一下如何培养自信(self-esteem)。"

netcasper:其它七条参见原文。

2005-08-04

Joel on Software - Hitting the High Notes

Joel on Software - Hitting the High Notes:

"My theory is that it's because Apple didn't want to mar the otherwise perfectly smooth, seamless surface of their beautiful, sexy iPod with one of those ghastly battery covers you see on other cheapo consumer crap, with the little latches that are always breaking and the seams that fill up with pocket lint and all that general yuckiness. The iPod is the most seamless piece of consumer electronics I have ever seen. It's beautiful. It feels beautiful, like a smooth river stone. One battery latch can blow the whole river stone effect."

netcasper:想创建一个赚钱的软件公司吗?看看Joel的公式。

Best Working ConditionsBest ProgrammersBest SoftwareProfit!

DocBook新手指南(转载)

原文由mickeyrat写于http://blog.csdn.net/mickeyrat

2005-08-02

用“手”按Ctrl键

一直不喜欢用大键盘,就是一般的PC键盘,因为Ctrl键太远了,按一下很费事,但这个键偏偏是用emacs最常按的几个键之一,所以比较喜欢笔记本上的键盘,一个字,小。

可是自从T30换成了T42,只能用大键盘了,一是因为本本放在铁架子上,总不能举着手按键盘吧,另外感觉T42的击键感觉没有T30爽(这大概是T30唯一的优点了)。但是这样用emacs就太累了。刚刚学了一招,就是不用小指按Ctrl键,而是用“手”。准确地说,手上哪里离Ctrl键最近就用哪里。:-)

说的也是,谁规定按键必须用手指的?!

开源项目这么多,还愁没有事情做?

CSDN - 一个应届毕业生的求职历程及感悟 | 王令刚:

"从这件事情,我得到了两点启示:1.找工作是个沟通的过程,无论是简历沟通,还是面试沟通,要学会营销自己 2. 为成功就业,我必须获得工作经验,这是唯一能够取得胜算的地方,因为目前的行情,IT企业想找的是能迅速上道的人。"

netcasper:实践经验怎么获得确实是个问题。老外们也在思考,这篇文章推荐通过参与开源项目获得经验。

阿根廷人在国米

库珀当主教练时,阿根廷人开始接踵而来,换了个意大利人做主教练,又弄来了索拉里和萨穆埃尔。其实我很喜欢阿根廷队,也喜欢很多阿根廷球星,坎比亚索和索拉里在皇马的时候我就很喜欢他们。可是,难道这个世界上只有阿根廷人才会踢球吗?有必要搞那么多阿根廷人来吗?有本事去做阿根廷队的主教练啊?

似乎很多主教练开始讲究人际关系、开始玩政治手腕,却忘记了球该怎么踢,队伍该怎么带。

2005-07-28

价值观

这两天中国IT出了几件大事:李开复离开微软加盟Google,欲建立Google中国研发中心;周鸿祎离职和百度准备上市。当然,相映成趣的还有中国十大流氓软件的出炉。

十大流氓软件的出台确实让人出了一口恶气,不知周李二人对于他们的产品位列其中做何感想。在我看来,二人并非什么IT人士,更谈不上程序员,他们是商人,而且惟利是图。他们也许懂技术,或者曾经懂过,但这实在不足以称他们为程序员,因为他们恰恰缺少了一个程序员应有的价值观。

每次看中国的IT新闻都有点郁闷,因为那更象商业新闻,而没有中国技术明星的消息。当然,中国目前还没有像Richard Stallman、Linus Torvalds,或者Martin Fowler这么重量级的技术明星,但是,有潜力的、正在发展的总是或多或少的有几个吧。在我看来,中国IT新闻的价值取向很有问题,“商业价值”压倒一切,过于功利,过于浮躁。自由是没什么人谈的,谈技术就更加低级了,最多只能说几个时髦的名词。

2005-07-27

补牙记

这两天一直牙齿疼,不吃东西还好,一吃东西就疼,稍微硬一点的就不行了。昨天终于忍不住了,向同事打听哪里补牙比较好,结果一个同事推荐华山医院,另一个推荐九院。因为华山医院以前去过,就决定这次去九院。

今天起了个大早,6点过一点就起来,弄了两个水煮蛋吃,然后坐720到莲花路,地铁到徐家汇,再打车到制造局路。挂号的时候才发现,光带了医保卡,没带医疗本,只好返回公司拿,结果来回一趟浪费时间不说,60多块的打车费也白扔了,还错过了一个很感兴趣的培训。由于补牙后两个小时不能吃东西,弄得午饭也没得吃。真是惨啊!

2005-07-19

从球星的fans到球队的fans

开始看球的时候才不管谁胜谁负呢,只要球踢得好看就成。后来看得多了,开始喜欢一些踢得好的球星,这些球星在哪个队就支持哪个队,比如鲁伊科斯塔的佛罗伦萨、葡萄牙,维耶里的拉齐奥、意大利。虽然那时鲁伊科斯塔是我最喜欢的球星,但更原意看拉齐奥队的比赛,不过还是没有做球队的fans的打算。

后来鲁伊科斯塔去了AC米兰,维耶里去了国际米兰,内德维德去了尤文。我一向是不太愿意支持传统强队,不过当时国际米兰相对没落一些,就决定做了国际米兰的球迷。后来才知道国际米兰在中国拥有人数最多的球迷,后悔已经来不及了。另外,也是由于在一堆球队的fans中看球,没有立场的人难免受到鄙视,这也是我决定从球星的fans向球队的fans转型的外界因素之一。

不过隐约觉得自己这个球迷做得不是很坚定,毕竟是跟着维耶里来的,有一天会不会跟着维耶里又走了呢?幸好,维耶里给了我足够的时间,一呆就是6年,现在,他终于走了,我却没有太多的遗憾,反而觉得这事早就该发生了。我还是国米的球迷,这里还有萨内蒂,还有坎比亚索,以及只有国米球迷才能体会到得惊心动魄与黯然神伤……

2005-07-05

用Picasa发布照片和视频

今天学了一招,用Picasa发布照片和视频。准确地说是用Picasa把照片和视频做成web page,然后用web server发布。Picasa内置了几个简单的模板,如果不喜欢的话还可以自己定制,先导出XML code,然后估计要自己写点程序什么的了,没有尝试,不敢乱说。

Picasa和Hello都只有Windows版本,我这台Linux机器根本用不上,只能用笔记本,还要来回传来传去的,挺麻烦的,希望Google不要厚此薄彼,忽略一部分用户的感受。:-(

其实现在提供共享图片的服务不少,比如flickr,最近Google也开始支持blogger images,最新听说一个shoebox,不过暂时不提供上传服务,可惜都不适合我,我平时没什么照片,也就是一年出去玩个一两次拍些照片,但是最麻烦的就是和同学朋友共享,以前是一张一张往5460同学录上贴,后来烦了,开始用163,不过也是麻烦的很,因为图片很多,上传要分好几次。Picasa提供的这个功能不错,至少我可以在自己的电脑上共享照片,这种共享也是临时性的,大家都看过就可以收起来了。

一个令人哭笑不得的隐喻

Intentional Software: Is programming a form of encryption?:

"This is very clear when we look at real encryption. If a secret message needs a follow-up, for example a military commander wants to attack target B instead of target A, this will definitely not be implemented by directly editing the encoded message! Instead, the clear text will be edited and the encryption re-run. Why the seeming complication? Again, in case of encryption the answer is obvious, it would be very difficult to find the encoded “image” of A in the result and replace it by the encoded “image” of B. Because the military has a computer that does the encryption, and they also have the key, it is much easier to change the original intention in the clear text from A to B and re-encrypt the whole message, not just B.

Of course this is just a thought (“Gedanken”) experiment because modern encryption techniques are so good that the image of A would be impossible to find.

Still, in programming we are in effect editing the encoded message all the time. When the intention in the problem changes from A to B, the programmers in fact have to replay the whole thought experiment described above:

  1. identify the image of A in the code – effectively all the places where A had an effect on the code. This is called code-scattering in aspect oriented programming.
  2. encode B in terms of the same implementation assumptions that were in force when A and the rest of the code were first coded.
  3. edit the code by removing the image of A and inserting the image of B.

This is true for all the other activities mentioned earlier – for testing, optimizations, or even documentation."

2005-07-04

非常有趣的面试经历,也非常有借鉴意义

女软件工程师在各大名企求职80天的经历

打印Intentional Software的blog

Intentional Softwareblog上没有找到方便打印的版本,又不想打印一堆comments和其它导航信息,经过一番周折,发现一个好办法,至少对于bloglines的用户来说。使用bloglines的Email This功能将文章发到自己的email信箱里,然后把这封信打印出来就可以了,非常干净。

2005-06-29

习惯写程序解决问题

同事指出一个错误,存在于五六个文件中,每个文件里有那么几处,我答应马上改掉。一会儿同事来看,发现我在写Perl脚本,惊呼:“这也要写程序啊?直接改改好啦!”

我这么做有两个目的,一是检查,同类型文件很多,万一有所遗漏,岂不显得很不专业。二来最近Perl用得正爽,顺便玩玩。事后估算一下,所用时间与逐个手工修改差不多,也许还要多一点,区别是写程序很有趣,手工改十分枯燥。

写这段脚本的时候特意没有加use warningsuse strict,Perl的精神就是对于用过一次就扔掉的一小段程序,用不着写防御性代码。我以前写脚本时不管长短,都是顺手写上这两句,看似严谨,实则多余。

2005-06-28

从源代码到可执行程序

编译器做了两年多,对于从源代码到可执行程序的整个编译过程算是有了点感性认识,回想起当初大一学习C语言的时候,连什么是源代码、什么是可执行程序都不知道,更别提什么编译过程了。今天,虽然只能算是略知一二,但也足够作为一个开始,由此写一份文档,为编译型语言的初学者提供相应知识,使其能够通过实践来学习语言,避免我当初遭遇的尴尬。时至今日,仍然没有发现这方面的材料,鉴于开源的精神——“如果没有所需软件,便自己写一个”,我决定开始写这样一份文档,一则理顺自己掌握的知识,二则希望能够对后来者有所帮助。

目前还只是个想法,什么时候开始,如何开始,以及涉及哪些内容,暂时还胸中无数,特此记录,以免日后忘记。

Blogspot支持图片上传了

去普陀山和朱家尖玩了三天,回来写blog时发现blogger.com宣布支持图片上传了,目前空间大小限制为300M。我就传了几张照片上去,发现效果还不错,显示在blog上的是经过google处理的小图,点击小图后可以显示原图。唯一的遗憾是这些图片只能显示在blogspot网站上,对于中国大陆的浏览者非常不爽,因为通过代理就看不到图片了。

2005-06-27

普陀山朱家尖三日游

这是公司组织活动的三个目的地之一,星期五从上海出发,包车直奔朱家尖,中间还要经过轮渡,共需六个小时左右。这次活动每人花费共计930元,公司为员工补贴570元,但是我还要带老婆一齐去,一共交了1290元。由于行程比较紧凑,得以在星期日晚上8点多回到世贸商城。

这是朱家尖,在我们前往宾馆的路上,从车里向外拍的。自然风光十分怡人,不禁感慨,要是在这里上班多好啊。这种想法都快成了每次出游的例行感慨了,也难怪,在钢筋水泥的世界待久了,谁不腻味啊?

普陀山的观音像,号称普陀最高,其它建筑都不许比它高。

乌石塘的海景,可以做渔船出海,门票里包含一部分,但是要向到东海口的话要再加50元,我们没去。

石字多一点,据说是为了平衡重量。

不错的浮雕,还拍了一小段录像。

不愧是佛教圣地,很有底蕴,比那些骗钱的小庙强多了,即使是无神论者(比如我),也不妨去看看,没人逼你一定要烧香、拜佛、求签……

2005-06-17

工作两年(六)——进入非C/C++语言的世界

大学时上过两门程序设计语言课,分别是C和C++,另外做项目用过Delphi,自学了点Pascal。后来读研的时候,正赶上C++学习热潮,跟着啃了几本名著,算是入了门,也是从那时开始,对程序设计着了迷。

工作之后,由于工作需要和个人兴趣,陆续接触了Perl、Emacs Lisp,还学了Shell编程以及一些标记语言如HTML和XML,每样都沾一点,但都学得不精,可以说这两年主要是一个开阔视野的过程。开始学HTML是为了写文档,因为不想用Word。后来还接触了一点CSS知识,才发觉网页设计也有很多变化和技巧,于是便试着美化我的blog。学Emacs Lisp是为了更好地使用、定制、甚至扩展Emacs,在05年春节利用假期时间把Introduction to Emacs Lisp和The Emacs Lisp Reference Manual通读了一遍,获得了一些感性认识,这些知识对于我后来深入学习Emacs很有帮助,虽然现在还无法做到用它来写程序,但由于能看懂一些,通过阅读代码,我就能掌握一些帮助里没有的知识。Dynamic scope的概念也是这时候碰到的,对我后面学Perl也起到了一定的作用。

学习Perl和XML则是为了做测试,由于公司QA人手不够,我就接手了部分测试工作,主要是开发测试环境,使用的语言就是Perl。想把Perl学精还是很有难度的,但上手却比较快,像Learning Perl讲授的知识有限,但也足够做些事情了。然而我感觉,越是上手快的语言越容易写出垃圾程序,因为很容易被表面现象所迷惑,不肯深入钻研这门语言的精髓。我认为,Perl的字符串处理、正则表达式和符号系统三个方面非常重要,Mastering Regular Expressions是讲正则表达式最好的一本书,到目前为止无出其右者,这在百花齐放的程序设计领域里显得很另类;而要深入理解Perl的符号系统,一定离不开Advanced Perl Programming,我还从这本书上学会了如何写Perl Module。学Perl不能光是看书写代码,Perl Cookbook要看,一些常用Module的代码也要看,对于Perl这么庞大(也很强大)、复杂的东西只是浅尝则止就有暴殄天物之嫌了。想做一个好的程序员就是要偏执,无论用什么,都要写得一手好程序,不可敷衍了事。

对语言接触得越多,越觉得自己视野狭窄、能力有限。这些工具就像软件开发的血肉,只有它们的存在,开发过程才显得丰满充实。回想起自己无知也无畏的年代,不禁汗颜。

如果没有自由软件?

昨天改好一段Perl脚本,正好到了下班时间,回想起前面调试的过程,不禁暗自庆幸,多亏了这些自由(和开源)软件。

下班的路上,通常是我胡思乱想的时候,反正到家要花近一个小时,也没什么别的事情可干。我就接着想,要是没有自由(和开源)软件,我该怎么写程序呢?我还能写程序吗?想着想着,不禁一身冷汗,这才有些理解了Richard Stallman的用意。没有自由(和开源)软件,没有同样自由的文档和HOWTO,我怎么可能达到今天的水平,没有了emacs、cvs、Perl、Graphviz等等工具,我还怎么写出象样的程序呢?还怎么能做到Test-Driven Development?还怎么Enjoy debugging?

描述一下我的调试过程吧,一段XML数据,按照我的理解,某些数据所在的entity必然是另外某种entity的子节点,然而测试程序显示我的假设不对,但我又不知道为什么?这段XML数据是自动生成了,数据量很大,层次很多,根本不知道问题出在哪里?是我的测试程序写错了还是我的假设错了?以前学过GraphViz的语法和应用,很适合可视化这种层次结构的数据。又想起来以前看到过有一个GraphViz的Perl Module,可以生成dot文件,就决定试一试,结果一目了然(一个同事用java写了一个强大的viewer,非常方便),是我的假设错了。

有目标,没管理

刚刚看了Money Magazine: 50 Smartest things to do with your money,顿时觉得自己对人生缺乏管理。

一直以来不会做管理,总是跟着感觉走,虽然没什么大收获,倒也平平坦坦。感觉自己是有人生目标的,但似乎又不太清晰,说不清楚。而且又有不喜欢记录的毛病,所以对人生这么大个主题就很难把握。已经是奔三的人了,必须得开始明确地管理自己的人生了,先从具体的、小范围的事情开始——饮食管理、财务管理,再到职业生涯管理、亲情友情人际关系管理,直至最终的人生管理。当然,如果有一套很好的管理软件就好了,仅仅是日程管理应该还是不够的。

最近开始看平衡计分卡理论,人生是不是也要平衡呢?而且要有意识的把握呢?应该是个技术含量很高的活吧!:-)

2005-06-16

耐着性子看帮助

不习惯(或者没耐心)看帮助就只能用一些显而易见的功能。

原来是一点都不愿意看帮助,宁可对着界面发呆、或者瞎猜一阵子,碰巧弄懂了算是赚的,不懂也就算了。现在要好多了,应该是从上班后开始吧,逐渐习惯了看帮助。最让我看得下去的是emacs的帮助,因为它的帮助系统是内嵌的,可以边看边试,互动性很强。

如今用blogger也有些时日了,还没正经看过它的帮助,因为都说它简单,不支持分类、tag等等。今天抽空看了一段,发现还是有些小功能可以用一用的,比如我刚刚加了“Email Post”的功能,还在SideBar上加了Previous Posts列表。而且帮助里还介绍了一个改变页面布局的方法,可以在每月存档里只显示标题,这样方便查找,有空的时候把自己的模板也改成这个样子。

看完之后不禁感慨,看帮助实在是要耐得住性子、坐得住板凳,不然是不会有收获的。

移动blog

因为手机被偷了,就买了一部MOTO E398,花哨的东西没有买,只添了一套座充和电池,大约1850元左右。已经用了近一个月了,只收发过几条短信,连电话都没打(和接)一个。

直到前两天才学会如何设置发邮件,试了试,gmail和163的都成功了。这里面还有个小插曲,一不小心把smtp写成了smpt,结果怎么也发不出信,心里这个郁闷,都按网上说的设置好了,怎么就是发不出去呢?后来仔细一项一项检查,突然发现smtp server看起来很怪异,发觉拼错后大呼faint,改过了这才发送成功。

然后准备试试blogger的mobile blogging,读了帮助才发现现在只支持美国的几个移动运营商,而且并不是我现在发的那种邮件,是另外一种。如果用我的手机实现移动blog的话只能利用blogger的Mail-to-Blogger方式,但是这样不能传图片,那岂不是浪费了我30万象素的偷拍机了嘛:-)

所以到现在移动blog还只是一个梦想,没有实现。

2005-06-13

区分摘要和全文的必要性

未完成 - Incomplete � 有点郁闷的RSS内容摘要输出:

"duduwolf则采用了一种很好的方式,如果提供的是全文输出,你会在文章后面看到“全文完”的字样,无疑这节省了我许多的脑力判断。虽然这只是一个小细节,但也是真正关心用户,从用户的需要出发。提供RSS摘要输出的blog是否能够响应duduwolf的号召应用这种方式呢。对于那些提供摘要的BSP们,是否也可以考虑如果某篇blog是已经是全文的话,可以由系统自动加上“全文完”,如果是摘要,则加上“浏览全文”的链接,这样可以为RSS读者提供很大的方便。"

netcasper: 可以看出duduwolf确实是个很注重用户体验的人,但对这个问题应该有更好的技术解决方案,没看过RSS的规范,但我想应该很容易区分摘要和全文吧,只要阅读器稍微在显示上区别一下就好了,不用麻烦blogger。

Linux究竟适合谁?

FedoraForum.org - Why Linux will Never Beat Windows!!!:

By pparks1: I guess it all depends upon what you are looking for. If you are looking for something that is very easy to use and doesn't require a fair amount of computer know-how, Windows is probably the best place for you.

However, if you want to run an extremely stable server (web, ftp, mail, dns, dhcp, nfs,), with a high level of security and customizability, Linux is fantastic.

As far as simple step by step solutions, I think you can find many of these on www.fedoranews.org. There is so much in terms of software, versions and distributions that it can be hard to find a set of instructions that work for everything. However, if you take the time to learn the OS and how it runs, you will find that many things are very common and once you know how to do it, the power of Linux unfolds right in front of your eyes.

For system admins, the ability to use tools like grep and awk and priceless. And by default, Windows doesn't really have anything right out of the box for that.

In addition, in the Windows world, most of the software that is any good has to be purchased. In Linux, a great deal of software is open source and free of charge. Here are some examples, IIS for Windows(webserver and ftp server)---not free, requires license for OS. In Linux world, Apache (web) and vsftpd (ftp), both very good, both heavily used on the web, both free. In windows, primary database platform is MSSQL. Certainly not free. In Linux world, postgres or mySQL---both very robust and both free. In windows world, Adobe Photoshop---quite pricey. PaintShopPro---not as pricey, but still with cost. IN Linux world, GIMP ----extremely powerful, robust and free.

So, my point.....Linux is NOT for everybody. However, it is a great, stable and secure system for those who want to take the time and explore the possibilities.

pparks1: I think the biggest problem is a misconception with Linux. So many people hear how great Linux is, but they don't actually have a use for it themselves. So, they aimlessly download something and load it up hoping to have something that works just like Windows. Then they find out that it isn't the same and that they do not know what they are doing. Then, they find a forum like this and just badmouth Linux.

I have spent a fair amount of time helping newbies and I honestly wonder sometimes why these guys are even trying to use LInux. They clearly have heard somebody say how cool it is, or how well it works, or "down with Microsoft, they are an evil monopoly"

For the people out there who need something that is a stable and inexpensive alternative to Windows, Linux is a great choice. For the developer, Linux is wonderful because the source is available, the software follows standards and the system can be customized EXACTLY how you like it.

For the average home user who doesn't get heavily into computers, Linux isn't for them. I think most of us hardcore LInux users would agree that Linux won't be the defacto standard on desktops anytime soon.

by the_profiler: i forgot where I had read the idea that there are 2 kinds of linux promotion.. one saying that.. "wow, Linux is cool" (nothing more said).. and the other.. "wow, Linux is cool! I don't think I can ever live without it!" which obviously is a very different but more effective way of promoting it.

cnarramoore: I haven't used Linux that long myself. I started playing with Mandrake 8 (I think) when I bought the XP upgrade. Didn't have much luck with it and then someone told me to try Redhat. RH9 was just out so I ordered the box set with all the manuals. I messed around with it and could do something things on it but nothing that really amounted to much. When I decided to go back to school I knew I would have to learn Linux enough for the 2 classes on had on it. The network teacher had downloaded FC2 and he said if we brought cds he would make us all a copy. Talk about everything seeming easier.

It must have been a combonation of the grand scheme of things and knowledge that leaked in but I could acutally do somethings on it. Still couldn't install programs worth a flip but it was a start. Fast forward a few months to Books-a-Million browsing session and I bought Fedora Unleashed complete with DVD. Now I can do almost everything I do on windows with Linux. I still stumble and ask stupid questions but I am getting there.

Seems the answers to the stupid questions lead to figuring out the harder stuff on your own easier.

Linux isn't for everyone. My mom cant use Windows XP for nothing, but my sister can surf the web with Linux if I show her where to click.

Linux has its place and Windows has it place. I don't look for Linux to beat Windows any time soon just because Linux was written for geeks by geeks and Windows was written for people who just want email, look at porn or shop of eBay.

2005-06-12

忘了关窗

星期五早上走的匆忙,忘了关窗户,晚上在去梅陇火车站的路上突然想起来,可已经没有时间回去关了,结果在杭州提心吊胆地过了两天,今天早上还做了梦,真是担心的不得了,我那刚买了不久的电脑和用了没两次的数码相机啊!要是房东的东西被偷了就更糟糕了。

回到家里发现机箱还在,又检查一下发现DC也安然无恙,这才一块石头落了地。上帝保佑,以后早上再也不开窗户了。

2005-06-06

一声叹息

致纪校长:“国学”应为“国故学” | 博客中国 | 吴祚来:

“其实,说穿了,国学是“故国之学”或“亡国故学”。在我看来它没有文气,只有死气!没有脊梁只有媚骨!从诗经、论语、唐诗宋词里我们如果说还能得到些什么的话,那就是一些智哲与诗意的语言碎片!它的整个体系是失败的!我们看看故宫就能说明问题,看似宏大的叙事,看似无限壮观,看似博收天下精品和五千年文明成果,其实你要真从中拿一件来用于当代社会,没有一样是有用的,因为中国文化的成果是为神与皇帝来制造的,不是为人民来制造的,我为什么如此强烈地反对国故学的所谓复兴,反对将国故学神圣化,我的立论核心就在这里!我个人没有与人大与纪校长过不去的。

……

大学精神应该是什么精神?

应该是时代精神!

我们时代精神是什么精神?

科学精神、民主精神、自由精神!”

2005-06-02

招人咋就这么难

每次面试都抱着很大的希望,以为可以结识牛人,可总是失望而归,今天这个还算是感觉好的,两个字——踏实,不像前面一些人,虚得很,胸无点墨还偏要硬充门面。

她是做QA的,我们也想招个QA,半个小时聊下来,可以看出她工作做得不错,有经验也有能力,可惜她这个QA做的事情和我们想让她做的事情差得太远。我们想要一个既会c又会Perl的,如果Perl不会也可以,但至少要有编程经验,还要学习能力强。但她做的工作几乎不需要编程,又是信电专业的,上学时也没怎么写过程序。表态时我投了反对票,尽管老板还是想要她的。至于最后招不招,还是由老板决定吧。

平时不注意联络感情,等到想招人的时候麻了爪,真应该学学人家Google,要不是只要学生,我也想参加Google代码之夏凑个热闹。

缓存的教训

昨天改一段程序,把原来写到文件里的内容缓存在内存里,直到所有数据都准备好再往文件里写。

由于是文本文件,数据是字符串,正好我们有个字符串类,就拿来做个buffer,每次获得一小段数据就构造一个字符串实例,然后和buffer做一个拼接,因为我们的字符串类可以自动管理内存,所以没费多大事就把程序写好了。

哪知本来是为了减少编译时间的修改却导致时间暴涨,后来大家分析,估计时间都花在字符串复制上面了,因为每次拼接的时候都要重新分配内存,然后把两段字符串都复制过去。现在我打算尝试构造一个字符串的链,每构造一个字符串就把它插入到链里,这样就节省了大量复制操作,希望能达到预计的效果。

Google的代码之夏

恐怕很多公司难以摆脱“招人难,难于上青天”的窘境。为什么呢?因为大家的圈子太小,因为大家其实也不认识几个人,招人就像买彩票一样,怎么可能称心如意呢?

其实,一个好的产品,总会是产品链中的一环,孤立的工具往往作用有限。但是限于时间和资源的不足,让一个公司开发整个产品链总是很困难,不如将一些次要产品或者开发过程中用到的辅助工具开放出来,作为开源项目,要求其他人参与,这样就可以在志愿者中发现人才,而其中愿意加入公司的人也有机会全面的展示自己的才能。

今天了解了Google代码之夏活动,这次活动的参与者限定为学生,可见Google的目标更长远,胸襟也更广阔,令人敬佩。

我命由我不由天

博客连载:走出单位(十九) | 博客中国 | 栗陆莎:

说到主人,一定有许多中国雇员要笑,因为大家都认为自己是“打工”的,讨生活而已。我觉得这样的认识是肤浅的,那种认为只有自己绝对拥有的企业才是自己的,自己才是“老板”或主人的观念也是脱离现代企业的事实的。有人会说,中国人在中国的企业里可以是主人,在外国的企业里是不可能做主人的,我同样也反对这个观点:职业经理人借助跨国公司的舞台、技术和资金,以双赢的方式建设有益于社会、民众和国家的事业,他们不是企业的主人吗?如果你问“这可能吗?”我的回答会是:“这不仅可能,还是事实。”

企业的主人是企业的决策者。有了决策权就可以决定做什么和怎么做。但决策权不仅仅指最高决策权。由于跨国公司的决策程序是民主的和协商的,参与决策的人遍布企业各个层级,而权力下放又使每个雇员都有一定的自主权,所以,做主人还是做“打工的”全在于雇员的个人选择。

2005-06-01

民族主义是一种幼稚病 | 博客中国

民族主义是一种幼稚病 | 博客中国 | 肖雪慧:

"民族主义具有托克维尔所说的“本能的爱国主义”那种轻率的激情,但还多了一种使本民族发展滞后的护短情绪和向外宣泄的破坏性情绪--仇外排外。民族主义往往还具有“本能的爱国主义”那种把国家人格化,拿君主当国家化身的特点。轻率、护短、仇外排外,再加上把国家人格化和视君主为国家化身,极易被政治野心家及其文化附庸诱向一个危险原则:爱国就是忠于国家政权。这一原则把人民的权利典押给政权,使爱国主义蜕化为对现实的奴颜婢膝,因而成为使强权永久化的工具。此外,民族主义是依恋故土和本民族的朴素情感无限夸张和过度膨胀的产物,它具有团体自恋倾向和夸大自己的民族、国家的历史、文化特殊性的倾向。团体自恋使民族主义与批评性的自我分析不相容,而批评性的自我分析却是一个民族在失误中得以走出迷误的自我矫正力量,从而也是防止灾难的基本条件。至于夸大特殊性的倾向被政客强化,便有了置特殊性于普遍性之上,藉此拒斥公理的特点。

……

正是后一种忠诚和关怀使得对祖国的爱并不模糊他们的是非感,不削弱他们对公义的尊重。在这些人身上,爱祖国最深切地表现在对于祖国文明、进步的热望和致力于使祖国成为全体人民自由和幸福的保障。这种爱类似于托克维尔说的富于理智的爱,但又超越了它。因为,对祖国的进步、文明和人民生存状况的关注意味着一种更具责任感的爱。这种责任感要求对自己的民族、国家的历史和现状进行批判性自我反思的精神以及兴利除弊的决心。他们忠实地为祖国服务,而当国家处于停滞和衰颓之际,他们不顾个人安危地为革除形形色色使祖国蒙羞含垢的丑恶现象而奔走呼号;当国家沦为某些人的囊中私物而陷于黑暗之时,又是他们勇敢地揭露黑暗、撞击黑暗,并致力于唤醒酣睡中的主权者……。

"

2005-05-31

工作两年(五)--进入Blog的世界

看了我在CSDN的blog,是从04年8月开始写的,但那并不是我第一次接触blog,在那之前,我在另一个地方申请过一个,还辛辛苦苦写了游黄山系列,可惜那时候不知道备份的重要性,结果所有的文章在人家升级失败后全部丢失了。

过了没多久吧,CSDN开始提供blog服务,我就申请了一个,断断续续写了那么几篇,现在回头看看,当初写得过于正式了,或者说缺乏生活气息。那时对blog的理解也比较肤浅,写了半天也不知道RSS是怎么回事,因为没觉得用一个RSS reader会有什么好,其实当时根本没试过。直到前一段CSDN的blog崩溃了一两个星期,我不得不跳出这个小圈子,才发现外面的世界真精彩。

这一切都是从wikipedia上对News aggregator的定义开始的,然后申请了bloglines的帐号,然后又是del.icio.usfeedburner,从此一发不可收拾,原来只浏览四五个网站,现在订阅了一堆的feed,看也看不完,像CNET News纯粹就是摆样子,倒是Engadget的图片很漂亮,另外还订了一堆成天没完没了地讨论blog、RSS、tag之类的blog,开始得时候算是普及教育,看多了就有点受不了了,谁让咱是搞技术的呢,对应用不是很关心。尤其是那些看似很专业地剖析发展前景,然而网页布局搞得一塌糊涂,字体小得根本没法看,还要在页面上堆砌许多“时髦”的东西,如skype me、gmail、subscribe to XXX等等,好像紧跟时代潮流的样子,实在难以想像满嘴用户体验的人把自己的blog设计成那个样子。我虽然没做过网站(或网页)设计,只是粗略地学了HTML和CSS,但直觉告诉我,页面一定要简洁,要主次分明。

blog对我来说更多地起到一个记录、积累的作用,工作、生活中的点点滴滴,技术细节、经验总结等等……,至于展现自己,不是不想,扬名立万是每个男人的梦想,只是时机未到,还需厚积薄发,扬名立万也要取之有道嘛!

正常的挫败感

Scalar variables in Perl are always referenced with the leading $. In the shell, you use $ to get the value, but leave the $ off to assign a new value. In awk or C, you leave the $ off entirely. If you bounce back and forth a lot, you'll find yourself typing the wrong things occasionally. This is expected.

这段话引自Learning Perl第三版 2.5 Scalar Variables。我就遇到过这种情况,当时非常具有挫败感,一种暗无天日、没有前途的感觉。看了这段话,心理舒服多了,正常嘛,大家都这样,并非我个人的问题。

就我看来,This is expected这句话的价值非常大,它让人不必在无谓(或者无法控制)的事情上浪费感情。

2005-05-27

blog已经成为一种交际

Annie Rambles: Blog Questions: "Perhaps this is an old topic that I've missed having just entered the blogging world at the beginning of 2005, but I am wondering about your attitudes towards certain blog behaviors. So, I ask:

(1) If I leave a comment on your blog, you:
  • a) do nothing
  • b) come read my blog
  • c) come read my blog and try to leave at least one comment back
  • d) respond to the comment on your blog
  • e) send me an email
  • f) some combination of the above (tell which ones)
  • g) it varies too much for each comment to say

(2) If you find out that I link to your blog, you:
  • a) do nothing
  • b) come check out my blog
  • c) thank me via a comment
  • d) thank me via an email
  • e) link back to me, if you like my blog
  • f) link back to me, regardless of your opinion of my blog
  • g) some combination of the above (tell which ones)
  • h) it varies too much for each link to say

(3) For the blogs that you link to and read regularly, do you:
  • a) read them every day
  • b) read them a few days a week
  • c) read them about once a week
  • d) read less often than once a week
  • e) read some frequently (1 - 3 days), but others less often (give percents if you can)
  • f) wish you could read them more often, but you just don't have the time
(4) Your significant other (if you have one):
  • a) also has a blog, which you read regularly
  • b) also has a blog, which you rarely or never read
  • c) reads your blog
  • d) never or rarely reads your blog
  • e) thinks blogging is a total waste of time
"

2005-05-26

工作两年(四)--进入Configuration Management的世界

刚开始学写程序的时候只会用IDE,吃过苦头之后就开始备份,或者每天做一次备份,或者一个功能完成后做一个备份,省得再出现程序崩溃后无法恢复的悲剧。用cvs是参加工作之后的事情了,在公司里,几乎所有的项目都用cvs做版本控制,也有用sourcesafe的,但不是主流。从那时开始,逐渐学会了check in、check out、update、merge、以及diff等等。记得《程序员修炼之道》上说,“要把所有的文本都用版本控制工具管理”。但是,有版本控制的意识,并不代表可以充分利用它,我已经用cvs两年多了,由于diff和annotate与emacs接合的比较好,所以这两个功能用得比较爽,可还是拿不准该在什么时候开branch,什么时候check in,偶尔还是会痛苦地努力恢复崩溃的程序。其实也难怪,还是没把版本控制当回事,总觉得可有可无,不去学习最佳实践,怎么可能用好它呢?!昨天看了“Version Control with Subversion”的第一章,打算接这个机会好好学一下版本控制,也学会这个最新的开源版本控制工具。

另一个工作后学会的工具是缺陷管理工具。所有的bug都有记录,这是我从前没有想过的,bug也有优先级,哪些重要,哪些不重要。重要的要尽快fix,不重要的可以托一托,但是因为有记录,就不会忘记。当我感受到记载bug的重要性后,就自己搭建了bugzilla,用来记录一些不适合记录在公司工具里面的bug。

我做的最不好的是schedule,到现在都做不好,因为每做一个task后总是会有一些想法,到底是该按照自己的想法继续做下去呢?还是该按照订好的计划行事?这让我很矛盾。而我的一个坏习惯是如果感到矛盾,就什么也不做,一直矛盾下去,虽然明知道这样根本不能解决任何问题。

2005-05-25

宽容 => 希望 => 解脱 => 自由

让我们不再恐惧 | 博客中国:

"对于上访者,我还要说的是,再也找不到一个群体比他们更忠于共产党了。村镇干部欺负他们,他们去县委诉说冤情;县领导迫害他们,他们去市委寻求救济;市里官官相护,他们到省委寻找正义;在地方得不到说法,他们不远万里,到北京盼望“青天”,有的一盼就是几年、十几年。他们相信党中央是英明的,一时被人蒙蔽而看不到他们的冤情。他们相信制度是好的,只是一小撮歪嘴和尚把经给念歪了。然而就是这样一群合法性的生产者,被认为是越级上访的刁民,是破坏社会稳定的不良因素,是肮脏的多余的人而加以驱赶、欺骗、压制和迫害。上访者充满恐惧和绝望,但还有那么一点点希望和期待。但是仅存的这一点点期望也被这个体制所带来的残忍和冷漠一点点地剥夺。即使当局想要认真解决,他们解决冤情的速度也远远比不上这个体制所产生新的冤情的速度。叫我如何不恐惧?

……

我在北大读书十多年,每一年六月四日前的几天,北大周围就一片莫名的肃杀气氛。警车一辆一辆地从四面马路上驶过,警察和便衣警察神色紧张地盯着每个行人,好像每个人都是暴徒。各种有形的和无形的力量都被动员起来,似乎在防止随时可能发生的不测。这种特殊氛围使我们这些没有亲身经历六四的人感觉到六四是一个特别的纪念日。显然比大学师生更恐惧的是警察,是这个不敢面对历史和掩盖真相的体制。2000年的六四之前,一个叫江绪林的研究生在北大三角地和北大BBS上贴了几张海报,意思是,在六四那天,希望人们到三角地去点燃烛光,不为对抗,而为和解。这是一种理性的、克制的和解精神,企图消除人们的遗忘和恐惧。这次富有象征意义的和平行动,最后以保卫部把人带走而告终。和解的烛光还没有点燃,就被恐惧的狂风所吹灭。

感到恐惧的不仅是孙志刚,还有折磨孙志刚的警察们;不仅是上访者,还有他们所举报的干部;不仅是囚犯,还有监视和惩罚囚犯的看守;不仅是反抗者,还有那些享受一切特权的人们。一个对人施以暴行的人,不正是说明了他内心是怯懦和恐惧的吗?一个关押囚犯的人,不正是同时失去了自己的自由吗?一个镇压民主运动的军人,不正是屈从了暴力的淫威而非服从了自由的意志和内心的良知吗?一个自由的人,一个在人性中充满宽容和慈悲的人,绝不会囚禁和杀戮他的敌人。没有奴隶的自由,就没有奴隶主的自由。只要我们心中还有暴力、仇恨、奴役和恐惧,只要我们心中还有敌人,自由就不会来到我们中间。我们谴责那些暴行,我们呼吁一个自由和人道的政治,报复和消灭敌人不是我们的目的。只要对人性、对这个体制的运作逻辑稍有省察,我们就不会把一个具体的警察、贪官或安全局的细作当作敌人。像图图大主教,一个伟大的“受伤的疗伤人”,所说的那样,我们必须区分罪孽与罪人:痛恨和谴责的是罪孽,而对罪人则要满怀热诚。"

对昨天消极情绪的积极回应

博客连载:走出单位(十三) | 博客中国:

"在公司整体治理状况不好的时候,中外雇员都有无能为力的感叹,认为身在分公司能做的事很有限,改变不了大局。在这种时候,外籍雇员的低落士气往往导致中国雇员更低落的士气,甚至只剩下了唉声叹气。中国雇员应该看到,其实在分公司有许多事可以做,外籍雇员不做,中国雇员就更应该做,因为这是中国雇员创造业绩、发挥领导力的好机会。

克服随大流的习惯是需要一点勇气的,那毕竟是与多数人的行为相悖的事。我们通常都知道什么是正确的事,但我们还要有勇气和责任感在别人都不做甚至都反对的时候坚持做正确的事。"

更新Fedora Core 3

曾经在Fedora Core 2下用过up2date,速度很慢,只好手工更新,ftp到一个mirror上去把所以需要更新的rpm包全下载下来。装了Core 3后仍然这样,很麻烦,但为了速度快嘛,也没办法。一次偶然的机会发现从redhat(用wget)下载的速度居然达到了100多k,比用韩国的mirror快多了,然后从那开始就用wget直接从redhat下载rpm包。

昨天又有更新通知,原来有新的kernel了,一时心血来潮,试了一下up2date,发现速度很快,很方便就更新好了,不知道是不是redhat收了Dell的钱,升级了硬件啊?

2005-05-24

为什么软件书籍翻译得这么差?

学术繁荣与翻译质量成反比 | 博客中国:

"翻译之为业,业内与业外理解有很大差距。在一般人,特别是不懂外文的人看来,只要懂外文(不论程度如何)的中国人,拿着字典就能对付。惟内行知其艰苦,知道对一名合格的译者要求有多高----需要精通本国和对方的语言,熟悉所译的专题,跟上原作者的思维和广博的知识,等等。在这一切之上,还要有高度责任感和敬业精神,不做唬老百姓之事。但是这里有一个悖论,具备这样条件的人往往更愿意自己从事研究著述,而不翻译他人的著作,因为在多数情况下,这毕竟是为人作嫁。前辈大师如严复、鲁迅、巴金等从事翻译是抱着“偷天火”的精神,以此为“治愚”(严复语)的启蒙工作。他们创作和翻译两不误,都可以传世。还有一种情况是翻译本身就是专业研究,如傅雷译巴尔扎克及罗曼*罗兰的《约翰*克里斯多夫》,朱生豪译莎士比亚,其译文也成为经典。继承这一传统,随后的一批外国文学专业研究者,其翻译著作也是研究的一部分,并蔚然成家,尤以法国文学令人瞩目。此类文学翻译之成就可以使我国不懂外文的学者从事外国文学研究专业,以至于相当一段时期许多大学的这个专业设在中文系下。尽管我本人对此一直持保留意见,但外国文学译著之规模可见一斑。然而,现在我要说的,是一个很特殊的颇具讽刺意义的现象:改革开放后,学术研究的繁荣与翻译著作的总体质量,居然形成了反比。这是我国1949年以来特有的现象。"

领导的傲慢

“口误”事件:最要不得的是傲慢 | 博客中国:

平心而论,顾校长认不出篆体的“侉”字,一点也不奇怪。他是学物理的出身。漫说他是搞理工的,钱钟书、吴晗这样搞文史的人也一样有认不出字和说错话的时候。不要动辄拿清华当年如何如何与今天相比。当年,钱钟书数学不及格、吴晗数学零分照样上清华,现在他们再考清华试试!总分那么低,一边凉快去。有个蒋老师想复古,提倡中小学生读四书五经,殊不知学生专读四书五经的时代,他们是不必学数理化与生物的。

顾校长之错就错在他出席那么重要的场合,代表学校与大陆学界送人家礼物,居然不肯礼贤下士先预习一下“功课”。这当然不能用校务繁忙或精力不济之类辞令来解释。用句不中听的俗语说,就是“吊儿郎当惯了”。

记得在《南方人物周刊》今年第8期上读到清华教授陈丹青的专访,其中有几句话令我心灵震撼。他说:“一次是2002年清华贺书记听取清华人文艺术学院工作意见,后一次是去年新任顾校长听取党外人士意见。我记得在场领导和其他教师都很礼貌地倾听,没有人接话、附和、回应。我从未天真到期待回应,只是说出来,就像对着空屋子讲话。我没听说,也不认为这类意见会上达教育部……今天还没出现这样一个空间:你假定某个部长期待知道哪项政策有问题,然后你告诉他,他会着手想办法改变,不,至少在教育问题上我看不见这样的可能。”

netcasper:大概官大了都这样,我们公司所谓的open forum,大领导们都是只带一张嘴就好了,从来不见follow up。开始的时候英语不好,没勇气问问题,等后来听多了看多了,也就懒得问了,反正总是没有下文。不过为了防止大脑痴呆,还是坚持在私底下想一些自认为很尖锐的问题或者很有建设性的想法。

2005-05-23

单位代表一种制度化的价值系统

博客连载:走出单位(十一) | 博客中国:

"单位代表一种制度化的价值系统,以其完善的奖励—认同机制来维护系统的有效性和持续性。这套奖励—认同机制就是规范个体和群体行为的工具和方法。为了得到认同、获得奖励,个体对组织行为规范做出趋同努力便是自然的行为反应。事实上,我们从幼年时期就开始通过父母接受单位的行为趋同要求,经过十几年的教育和训导,待到参加工作时,已经基本接受了单位制价值观并基本适应了体制内的行为规范。所以,加入某个具体单位后,绝大多数人并不需要特别的文化或体制适应,也不需要特别的行为整合努力。这与我们加入跨国公司后的情形十分不同,甚至相反。"

2005-05-20

在bloglines里面看到google的广告了

ubiquitous ads

如果你用Bloglines订阅Engadget的RSS Feed,就可以看到google的ads。下图是我截的一张图。

google ads at bloglines

手机被偷了

上班的路上手机被偷了,大概是在57路上,后来听同事说57路和925路上小偷是比较多的。

手机是02年3、4月份买的,西门子3618,当时是1800多吧,苏宁在杭州的第一家店开张,我去凑了个热闹。想想已经用了三年,虽说现在手机早是彩屏、摄像的天下,但我对手机没有太多的要求,发发短信,偶尔接个电话,仅此而已,所以S3618足够用了。何况闹钟、便笺、记事本以及日历等功能非常实用,所以从来就没想过要换手机。

这下不换也得换了,郁闷。到了公司连忙去办停机,然后给老婆、爸妈打电话,防止他们被骗,老婆的手机号码倒是记得,爸妈的平时不怎么打,就从来没记得过,一般都是打家里电话的。没办法,只好碰碰运气,老妈居然在家,正好,赶紧告诉她,老妈居然没太大反应,说正好换一个。后来老爸打电话来问我办停机了没有,我说停了,他也就没再说什么。何着就我一人郁闷得要死。本来今天发工资,是个大喜的日子,结果说什么也高兴不起来,都怪那个ZOLO包,手机袋的位置偷起来方便着呢。也是自己托大,以为看得牢……

2005-05-19

5*19二十周年

看了央视5台足球之夜的5*19回顾,心潮澎湃,感慨万千啊!第一次如此具体如此详细地了解了中国足球历史上第一个大事件,有机会把这期足球之夜BT下来收藏。

2005-05-18

在Fedora Core 3上使用USB flash

$ modprobe usb-storage
然后把flash插在USB口上就可以了,如果常用的话可以写到启动脚本里。Using a USB flash drive with Linux讲述了具体的过程,只不过那是在Red Hat 9上。

程序员的blog

程序员的blog该是什么样子呢?和一般的blog有什么区别呢?就我看来,程序员是blogger里面非常特殊的一个群体,他们对软件有着更深入的理解,有版本管理的概念和使用经验,对程序设计语言和标记语言有相当程度地了解。所以,提供给程序员的工具应该更强大、更高效,也就更复杂。

下面的经历,描述了程序员使用blog的过程。

  1. 散落在系统里的一些文本文件,只有自己才能看到。
  2. 创建一个目录树和一堆符号链接,按照时间和类别将这些文件组织起来。
  3. 将文本文件转换成HTML文件,加入链接,方便浏览。
  4. 申请免费blog空间并发布,供人浏览。
  5. 学习HTML和CSS以改善页面布局。
  6. 申请多个blog,尝试不同功能特性。
  7. 选择功能最强人气最旺的一个拼命发帖提高知名度。

BSP由于各种原因忽视服务质量使人无法忍受于是决定搬家。几经周折之后终于厌倦了寄人篱下于是申请宽带、安装Web Server、申请动态域名开始自给自足的小农经济。但是把散布在各个角落里面的文章转移到自己的地盘足以让以懒惰为美德的程序员烦躁至极。

于是他(或她)想:blog应该像RSS一样采用XML格式,而不是不方便数据交换的HTML格式。XML文件不仅方便数据迁移,而且使得文章结构与文件格式以及显示效果分离,这样就可以采用不同的转换程序将其转换为多种格式,如HTML、PDF、ps等格式,用于不同的目的。此时程序员写的blog就不是最终产品,而是一个源blog,应该像源程序一样置于版本控制的管理之下,并通过一定的方法给予浏览者查看历史版本的能力,而不是像某些人现在做的一样用特殊的标签或效果直接在网页上体现修改。版本控制工具非常适合于程序员写的blog,因为他们写的文章中很大一部分是知识归纳总结型的,不像新闻工作者写的文章时效性那么强。随着知识的积累,程序员要不断修改他们已经写好的文章,而记录每次修改的内容正是版本控制工具存在的目的。而RSS也应该具有相应的发布文章修改信息的能力,通知订阅者他们曾经看过、甚至收藏过的文章被原作者修改了,提醒他们有必要重新阅读。

当然,这还是一些粗糙的想法,目的是不想浪费那些已经融入程序员血液的程序开发能力,blog未必要用同一种方式写出来,程序员有权利选择他们最擅长的方式。也许某一天程序员可以以这样的方式写blog:check out或者update源blog,然后打开心爱的emacs修改以前的blog或写新的,写好后提交。想要发布的时候登录到Web Server所在的机器,check out源blog后执行以下命令:

$ ./configure --prefix=/var/www/html/blog/username
$ make #缺省为make blog
$ make install
每个月(或者季度或者年)的最后一天运行:
$ make pdf
汇总这一段所有的blog生成一个PDF文件,供人下载。十年之后运行:
$ make book
生成一本名为《我的十年》的书,然后出版……等等。

人力资源部的屁股没有坐在员工一边

博客连载:走出单位(八) | 博客中国:

"跨国公司针对中国雇员的人力资源政策都有中国雇员参与制定,针对外籍雇员的人力资源政策也都有外籍雇员参与制定,参与其中的中外雇员的做法却常有不同。从作用上讲,这些中外雇员都是各自群体利益的代言人,他们的意见和主张代表了各自群体的意愿。但不知为什么,中国雇员的代言人常常不能理直气壮,对员工的抱怨听而不闻,使得中国雇员的利益表达声音微弱,而外籍雇员的代言人总是不遗余力地维护自己群体的利益,使得外籍雇员群体的利益表达声音响亮。外籍雇员的行为是符合逻辑的,因为他们在代言外籍雇员群体的同时也是在维护个人的利益,但中国雇员的行为就令人费解:中国雇员群体的利益也是他们自己的利益呀。

我曾听到一个外籍人力资源总监说,中国雇员的福利不够好,公司应当考虑改善,但我从未听到过这家公司人力资源部的任何中国雇员说到过这一点。这些中国雇员是否真的认为外籍雇员群体享受良好的待遇是理所应当,而中国雇员群体没有资格享受更好的待遇呢?或者是觉得为中国雇员争福利会得罪公司领导层并损害自己的职业发展前途呢?无论是什么原因,都一定是错误的,因为公司的目的是让员工满意从而保持住优秀的员工,一旦员工因福利待遇问题另谋高就,公司是要怪罪那些代言人的。"

Bloglines | News | Weather Forecasts on Bloglines

Weather Forecasts on Bloglines:

"Outdoor wedding in Seattle this weekend? Spring skiing in Tahoe? Or maybe you are wondering weather this is the right weekend to replace your roof? Keep an eye on the weekly forecast with Weather subscriptions. Simply click the 'Add' link from your My Feeds display, and then select the 'Weather' link. You can add a weather forecast by city or by zipcode to get a daily forecast update for the entire week. Forecasts are available in cities throughout the world and, like all of Bloglines, this new feature is localized in the 8 different languages that Bloglines supports. Check out the Ask Jeeves blog today where Robyn DeuPree, the new Product Manager for Bloglines, introduces herself and shares how she's using weather subscription for her upcoming road trip.

Tue, 17 May 2005 17:00:00 PST"

下面是一幅截图,可以看出温度是华式度,不符合中国人的习惯。

weather at bloglines

2005-05-17

终于升级firefox了

昨天还在想,firefox 1.0.4都出了这么多天了,怎么Fedora Core 3的update里面还没有?难道要和简体中文版一起出?:-)

今天rpm出来了,赶紧升级一下,据说是很严重的漏洞,虽然咱一点都不懂是咋回事。另外把其它的也都升级了,这两天从redhat网站下载的速度很快,一会儿就把所有升级需要的rpm包都下载下来了。

说来惭愧,入行快10年了,Linux用的还是很初级,很多东西都不懂。Perl还在继续学,感觉找不到门路,学得比较艰辛。本来是想今年再学一门语言的,现在看来能把Perl用熟了就不错了。

老婆看错短消息了

老婆昨天来上海,晚上说稍微晚点回来,让我先去吃饭。我吃好饭回到家正好七点,就顺手给老婆发个消息让她“注意身体不要饿着”。

快八点光景老婆回来了,兴冲冲地对我说“你做饭给我吃啦?”我说哪里啊,不是让你在外面吃嘛!老婆说“你明明给我发消息了……”,然后掏出手机拼命找,看了几条都不是,我逗老婆说,你看的是旁边帅哥的手机吧,记错了吧:-)。

老婆哪里肯承认,虽然找不到那条短消息,仍然不依不饶,“我本来想在外面吃的,你说做了饭,我才急着赶回来的,我都饿死了”。没办法,出去给老婆买了炒面, 老婆吃了两口就饱了,剩了一大半。老婆周末有考试,拿出书开始复习,我在厅里看天下足球,突然老婆大呼一声,“哎呀,我看错短消息了”。

原来是一条我周日发的短消息,当时在杭州,丈母娘做好饭,老婆还没回来,我就发消息问“你什么时候回来啊?饭做好了”。老婆晕晕乎乎,不知怎么看了那一条…… :-)

2005-05-15

别动!还原!——激情的性爱奶酪 | 博客中国

别动!还原!——激情的性爱奶酪 | 博客中国:

"其实,当一个女人放弃理性的时候,她的情感世界像一个游弋于荒郊野岭的孤零零的女鬼。你“拥有了”吗?

权利和义务,从来都是相互对应的。当你享受权利而没有承担义务的时候,权利早已丧失了必要的支撑,翩翩公子没有给你添“麻烦”,但也没有义务对你相濡以沫,没有必要在你困惑、疾患、痛苦、挫折的时候与你风雨同舟。肌肤之亲甚至甜蜜的旅行,无法取代心灵震撼和撞击,就连婚姻中两口子吵架激出的泪水也有一种你永远无法企及的刻骨铭心的幸福。夫妻之间那相互走进心灵、融入血液的恨爱交加、披肝沥胆;那每添置一件新衣、添置一件家具时因共同创造、共同承担而带来的真实分享;那姻缘和血缘相互交融而绽放的生命之花;那迎接婴儿、哺育新生时共同栽培的挚爱亲情;那夕阳之下斑白华发之间的相互搀扶、相依为命;那病榻之前赛过一切良药的轻轻呼唤,甚至灵柩之前撕肝裂胆、穿透一切世态炎凉、人情冷暖的长啸痛哭……,你拥有了吗?你“拥有”什么了?"

2005-05-11

几个Perl Module

用Bloglines订阅FeedBurner中出现的问题

今天在FeedBurner申请了个帐号,把bloggerchina-pub上这种容易改变的Feed烧成不太会改变的。没想到在bloglines里面一直显示不出来,试了一整天都没成功,刚才再一次仔细想想自己的Feed和别人的Feed有什么不同,URI有点长?不过Sage上显示好好的啊?无论如何,尝试一下吧。

先改成四个字符,成功!然后恢复成原来的长URI,失败!最后选了七个字符,也成功了。没有继续测试bloglines到底允许来自FeedBurner多长的URI,应该是bloglines的一个bug吧。

2005-05-10

mplayer开始干活了

以前在Cygwin上玩过mplayer,当时是自己编译的源代码,感觉不错,但是GUI没有弄出来。现在有了自己的Linux box,mplayer是个不能不装的软件,当时图省事,就下载了一堆rpm包。可是一直放不出片来,开始还以为是rmvb不支持,就装了RealPlayer10,先看了片再说。

昨天老婆让我看个wmv格式的短片,又没放出来,当时就很差异,原来Cygwin上mplayer放微软格式的视频都爽的很,怎么现在不能放了?

没办法,check out代码、编译、安装,然后用mplayer放,可以!再用gmplayer放,还是不行?!再用mplayer放一遍,原来选了DMO做视频解码,然后 在gmplayer的配置里把codec改过来,再放,终于可以了。又试了一下rmvb,也可以放,就是不能拖动。

开始跟老婆说不能放,老婆还怪我为什么只装Linux不装Windows,这下终于可以扬眉吐气了,晚上把昨天失去的尊严找回来!:-)

2005-05-09

中国Linux公社 - 自由软件

中国Linux公社 - 自由软件: "Chmsee(查看CHM文件的工具)
类别:其它软件 上传时间:2005-02-25
版本:0.9.5 大小:299.80 Kb
提交者:zhong 得分: 78% 好
下载次数:5028 投票: [好] [差]
相关网址: http://211.92.88.40/~zhong
简短描述:
一款在Linux下浏览HTML Help(chm)文件的工具,对中文支持不错.

RPM for FC3
http://211.92.88.40/~zhong/files/chmsee-0.9.5-1.i386.rpm

DEB
http://211.92.88.40/~zhong/files/chmsee_0.9.5-1_i386.deb
http://211.92.88.40/~zhong/files/chmsee_0.9.5-1_amd64.deb

安装步骤:
tar -jxvf chmsee-gtkhtml-版本号.tar.bz2
cd chmsee-gtkhtml-版本号
./configure --prefix=/usr
make
make install


测试环境:
FC3"