2009年4月25日星期六

【转】女大学生日记一则(令人震撼)

今天无意在某个学长的博客中看到这篇文章,是蛮早前的了。“令人震撼”这四个字是学长的标题。看完后,把我震撼了么,只是有点感觉。换作以前的我一定感慨良多,现在只是觉得很现实。觉得替这位老人难过,仅此而已。

原文如下:

我只是一个学生,无权无势,但却做梦也没有想到,居然有人向我下跪。 
    那是数天前的一个中午,我刚从双安商场的美食城出来,走上人行天桥,凛冽的寒风在我暴露的皮肤上肆虐不已。突然看见前面有一满头银发的老妪不停地向人打躬作揖,而路人纷纷掩鼻而走。估计又是一个乞丐,我正在这么想着。这时,老者却向我走来。我摸了摸口袋中的硬币,心想也许又是一个骗子。我几乎都能猜到她会说些什么,无非是来京访亲,找不到人了,好些天没有吃饭了等引人入套的话。我做好了用几个钢崩将她打发的准备,不料老人却用地道的河南话对我说,「同志,海淀区司法援助中心怎么走?」喔,原来只是问路,我笑了笑,感觉自己有点神经过敏。「对不起,我也不知道」,我感到有些不好意思,但自己确实不知那个援助中心在哪。老人朝我点了点头,又向旁边一个路人询问,但对方却并未理睬这个貌似乞丐的老人。我禁不住又打量了一下老人,她估摸60多岁,带着数个破破烂烂的编织袋和一个古老的黑色旅行袋,袋子旁还用玻璃绳子栓着一个破水杯。又是一个上访者,一个不知被多少个部门像中国足球一样被人踢来踢去而始终踢不进门的上访者,我心里一阵难受,对老人说,「您别急,我帮您打电话问一问」。我用手机给查号台打了电话,在现代科技的帮助下,很快问到了援助中心的地址--某某路某号。这时老人突然扑通给我跪下,泣不成声地对我说:「你是个好人」。天啊,仅仅是问个路,一个六旬开外的老人居然向我下跪。
    我的眼睛有点湿润,慌忙把老人扶起。她只是一个劲地对我说你是个好人,你是个好人。我给她指了指援助中心的方向,告诉她该怎么坐车。老人从贴身的内衣中小心翼翼地掏出个皱巴巴的信封,颤巍巍的记下了地址。我本想迅速撤离这个让人压抑的天桥,可又觉得即使指明方向、地址,对于这个对北京人生地不熟的老人来说,要想找到那个连我都不易找到的援助中心无疑是大海捞针。于是我决定带她去,不料就为这她再次向我下跪,我措手不及,只能一手提起了她那像垃圾一样的编织袋,一手把她扶起。
    在去往目的地的出租车上,老人告诉我,她是河南南阳人,今天早上刚到北京,为了找援助中心,已经徒步走了4个多小时。她问了问我的身份,当我告诉她我还是学生时,她又一次哭了,哽咽的说到:「如果不是家里穷的话,我那儿子现在也是大学生,也就不会遭这个罪了。」原来他的儿子是油漆工,两年前来京打工。一天深夜,她儿子骑着自行车,带着铁桶和毛笔正往家赶,突然被几个巡逻的警察二话不说地抓了起来。没有申辩、没有审判、似乎没有任何程序,孩子就被关进了监房。过了20多天,事情总算是弄清了,孩子的清白也得到了证明,但他的手指却由于不知名的原因掉了几个,而且精神彻底崩溃,成了疯子。想像一下吧,一个来北京寻求希望、身心健康的年青人,在毫无过错的情况下,莫名其妙地深陷囹圄,没有任何反抗、任何辩解的机会,最终成了一个废人。
    「法律面前人人平等」在这个事实面前是何等地苍白,一个打工者,仅仅因为穿着寒碜就会被怀疑为嫌疑份子,而那些开着大奔、西装革履却暗地里坐着违法勾当的「款爷」们就能理所当然地避免这样的「天灾人祸」,甚至还会备受尊敬。难道我们的法律中有「以衣着和相貌」这样的定罪原则吗?「人生而自由,却无往不在枷锁之中。」我感到了人类的渺小,感到了法律的悲哀,「相信法律吧」,这就是我,一个研读法律近10年的人对她唯一能说的话,一句苍白得近乎虚伪的话。
 到了援助中心,我执意要陪她上去,但老人对我鞠了鞠躬,说已经很感谢我了,让我不要上去,她说我还年轻,不要介入这种可能影响将来前途的事情。
 我走了,想着老人的话,突然感觉自己是多么的卑微,多么的懦弱,感到自己曾经奋笔疾书的有关法律精神的探讨是多么的可笑,多么的幼稚。
 深夜,我又想起了这位老人,不知在这寒冷的冬夜里,她栖息何处?

2009年4月21日星期二

oracle 收购 sun 是福是祸 是挑战

刚才才看到这条消息,确实晚了点,这么震撼的消息现在才知道惭愧。

当时传ibm收购sun,网上议论纷纷。当谈判破裂时,很多分析师说是收购失败是sun的损失,也有说是ibm的损失等等。我当时没有觉得什么损失不损失的。大家维持原状有什么损不损失的。现在oracle又是用现金收购了sun。一方面可见oracle这几年来收购的野心,另一方面可见到现在可谈损不损失的问题了。

无疑对于ibm来说是损失了。现在oracle借助sun的软硬件技术,将成为IBM在数据中心领域的一个强大竞争对手,新公司可以销售包括硬件、操作系统和架构软件在内的完整企业产品组合,而在以前只有IBM才能够提供如此完整的产品和服务。

很多人说java前途光明。我不觉得。现在oracle形成了高端java企业开发一条龙,可以说有垄断之势。对于以前同是以java作为开发语言的ibm,sap等大公司对java有所忌惮。如何处理好两者之间的关系,就看oracle的操作了。作为java的开发者现在感觉就像是我为鱼肉的感觉。

对于oracle来说,sun的硬件部分的合并,让他不再是一家软件公司了,而变成了系统厂商。这也就让从前合伙的戴尔和惠普,有所忌惮了。对于oracle来说当然是扩张的好事。但对于从事这方面的开发人员来说,可选性变小了。更本不是件好事。

我一直觉得当时ibm收购失败是件好事,没有什么损不损失的。sun处于中间位置,达到平衡。所有的厂商以java技术而不用过多担心。现在格局被打破了,我对java的将来感到担心。

我对mysql也情有独钟,小巧轻便。现在mysql真是尴尬,所有的猜测都取决于oracle的决策了。mysql实在不行就去试试PostgreSQL。但是java的前提,我很在意。java确实有很多缺点,但是真是一门好语言啊。真不想因此而减少了他的应用范围。

是福是祸 都是挑战。接下来举世瞩目oracle的决策吧。希望都是明智的。但愿。。。。

2009年4月14日星期二

一切就是那么的命中注定

今天在线上碰到了男人,问他最近境况。后得知现在在一家国企混着,等世嘉的下次面试。
呵呵,将兴趣变成了自己的工作到还真是不错。后来聊着聊着,聊到了面试第一轮的一道题。
写个一个通用的y=Asin(ax+b)+c的解法..要时间复杂越短越好。
他问我的时候,我一下子懵了下。好久没有接触高等数学了(惭愧)。依稀记得以前有什么公式可以通解。但要我立马不翻书,可真是不行了。男人说:...你们都是往这里想的.桃子也是...
。。。。我哪里想错了么?男人说:我就说把y=sinx的值按照精度要求预先存在数组中。
哈哈哈哈哈,用空间换时间么。桃子说他肯定错,我不觉得。至少别人让他面试到现在是不假的事实。我也觉得不错的方法。第一,你的算法再怎么牛,能达到系统预设的sin求解不是件容易的事情。第二:现在的要求是自己写一个要求时间复杂越短越好,当然是用空间去换时间了。我和桃子都一上来就走入误区了。
我很好奇,他当时怎么会突发如此想法的。我想正常人大多会和我和桃子的想法一样,想一个算法来解。男人说反正我看到过别人这么说.就觉得不至于不可行。
是的,也许不是他当时的突发奇想。但是平时的积累就是财富。你平时无意中捡起来的某些东西,也许暂时没用,但是总有用处的一天。一切就是这么命中注定。

2009年4月2日星期四

不要一辈子靠技术生存

来源:世界经理人
  我现在是自己做,但我此前有多年在从事软件开发工作,当回过头来想一想自己,觉得特别想对那些初学JAVA/DOT。NET技术的朋友说点心里话,希望你们能从我们的体会中,多少受点启发(也许我说的不好,你不赞同但看在我真心的份上别扔砖头啊).

一、 在中国你千万不要因为学习技术就可以换来稳定的生活和高的薪水待遇,你千万更不要认为哪些从事 市场开发,跑腿的人,没有前途。

  不知道你是不是知道,咱们中国有相当大的一部分软件公司,他们的软件开发团队都小的可怜,甚至只有1-3个人,连一个项目小组都算不上,而这样的团队却要承担一个软件公司所有的软件开发任务,在软件上线和开发的关键阶段需要团队的成员没日没夜的加班,还需要为测试出的BUG和不能按时提交的软件模块功能而心怀忐忑,有的时候如果你不幸加入现场开发的团队你则需要背井离乡告别你的女友,进行封闭开发,你平时除了编码之外就是吃饭和睡觉(有钱的公司甚至请个保姆为你做饭,以让你节省出更多的时间来投入到工作中,让你一直在那种累了就休息,不累就立即工作的状态)

  更可怕的是,会让你接触的人际关系非常单一,除了有限的技术人员之外你几乎见不到做其他行业工作和职位的人,你的朋友圈子小且单一,甚至破坏你原有的爱情(想象一下,你在外地做现场开发2个月以上,却从没跟女友见过一面的话,你的女友是不是会对你呲牙裂嘴)。

  也许你拿到了所谓的白领的工资,但你却从此失去享受生活的自由,如果你想做技术人员尤其是开发人员,我想你很快就会理解,你多么想在一个地方长期待一段时间,认识一些朋友,多一些生活时间的愿望。

  比之于我们的生活和人际关系及工作,那些从事售前和市场开发的朋友,却有比我们多的多的工作之外的时间,甚至他们工作的时间有的时候是和生活的时间是可以兼顾的,他们可以通过市场开发,认识各个行业的人士,可以认识各种各样的朋友,他们比我们坦率说更有发财和发展的机会,只要他们跟我们一样勤奋。(有一种勤奋的普通人,如果给他换个地方,他马上会成为一个勤奋且出众的人。)

二、在学习技术的时候千万不要认为如果做到技术最强,就可以成为100%受尊重的人。

  有一次一个人在面试项目经理的时候说了这么一段话:我只用最听话的人,按照我的要求做只要是听话就要,如果不听话不管他技术再好也不要。随后这个人得到了试用机会,如果没意外的话,他一定会是下一个项目经理的继任者。

  朋友们你知道吗?不管你技术有多强,你也不可能自由的腾出时间象别人那样研究一下LINUX源码,甚至写一个LINUX样的杰作来表现你的才能。你需要做的就是按照要求写代码,写代码的含义就是都规定好,你按照规定写,你很快就会发现你昨天写的代码,跟今天写的代码有很多类似,等你写过一段时间的代码,你将领略:复制,拷贝,粘贴那样的技术对你来说是何等重要。(如果你没有做过1年以上的真正意义上的开发不要反驳我)。

  如果你幸运的能够听到市场人员的谈话,或是领导们的谈话,你会隐约觉得他们都在把技术人员当作编码的机器来看,你的价值并没有你想象的那么重要。而在你所在的团队内部,你可能正在为一个技术问题的讨论再跟同事搞内耗,因为他不服你,你也不服他,你们都认为自己的对,其实你们两个都对,而争论的目的就是为了在关键场合证明一下自己比对方技术好,比对方强。(在一个项目开发中,没有人愿意长期听别人的,总想换个位置领导别人。)

三、你更不要认为,如果我技术够好,我就自己创业,自己有创业的资本,因为自己是搞技术的。

  如果你那样认为,真的是大错特错了,你可以做个调查在非技术人群中,没有几个人知道C#与JAVA的,更谈不上来欣赏你的技术是好还是不好。一句话,技术仅仅是一个工具,善于运用这个工具为别人干活的人,却往往不太擅长用这个工具来为自己创业,因为这是两个概念,训练的技能也是完全不同的。

  创业最开始的时候,你的人际关系,你处理人际关系的能力,你对社会潜规则的认识,还有你明白不明白别人的心,你会不会说让人喜欢的话,还有你对自己所提供的服务的策划和推销等等,也许有一万,一百万个值得我们重视的问题,但你会发现技术却很少有可能包含在这一万或一百万之内,如果你创业到了一个快成功的阶段,你会这样告诉自己:我干吗要亲自做技术,我聘一个人不就行了,这时候你才真正会理解技术的作用,和你以前做技术人员的作用。

[小结]

  基于上面的讨论,我奉劝那些学习技术的朋友,千万不要拿科举考试样的心态去学习技术,对技术的学习几近的痴迷,想掌握所有所有的技术,以让自己成为技术领域的权威和专家,以在必要的时候或是心里不畅快的时候到网上对着菜鸟说自己是前辈。

  技术仅仅是一个工具,是你在人生一个阶段生存的工具,你可以一辈子喜欢他,但最好不要一辈子靠它生存。

  掌握技术的唯一目的就是拿它找工作(如果你不想把技术当作你第二生命的话),就是干活。所以你在学习的时候千万不要去做那些所谓的技术习题或是研究那些帽泡算法,最大数算法了,什么叫干活?

  就是做一个东西让别人用,别人用了,可以提高他们的工作效率,想象吧,你做1万道技术习题有什么用?只会让人觉得酸腐,还是在学习的时候,多培养些自己务实的态度吧,比如研究一下当地市场目前有哪些软件公司用人,自己离他们的要求到底有多远,自己具体应该怎么做才可以达到他们的要求。等你分析完这些,你就会发现,找工作成功,技术的贡献率其实并没有你原来想象的那么高。

  不管你是学习技术为了找工作还是创业,你都要对技术本身有个清醒的认识,在中国不会出现BILL GATES,因为,中国目前还不是十分的尊重技术人才,还仅仅的停留在把软件技术人才当作人才机器来用的尴尬境地。(如果你不理解,一种可能是你目前仅仅从事过技术工作,你的朋友圈子里技术类的朋友占了大多数,一种可能是你还没有工作,但喜欢读比尔。盖茨的传记)。

2009年4月1日星期三

不得不记录下 关于s60虚拟机文件保存地点

最近在做手机的开发,基于j2me。刚开始起步,发现没遇到过什么问题。配置,测试,几个简单的入门demo。都很顺利。
由于这次手机开发是针对流媒体在线播放的,rms好像是最好个解决。但我想第一步调通播放已下载文件。所以就像先找下虚拟机内部创建文件的保存地址。sun的虚拟机很好找,搜索下就有了。接下来是塞班的s60,这个让我好找啊,以至于到现在还没睡觉。
当然第一步是在s60内部创建一个文件,然搜索下相关文件夹。奇怪的是没有找到。但后我想是不是改变文件名了,所以就文件河,全电脑监控。这下更加惊讶的事情发生了,没有相关操作!!!
是在困惑下,网上找也没找到相关回答。实在是纳闷,而且测试文件是否存在是,所创建的文件是存在的,并没有随文件突出而删除。
本人修行不够啊,实在是无法理解。后来在网上看到一篇关于塞班系统配置的,就猜想尝试下加点参数进去制定下虚拟机的e盘。epoc.ini中
_EPOC_DRIVE_D \epoc32\winscw\d
_EPOC_DRIVE_E \epoc32\winscw\e
莫名的发现指定后文件就在指定文件夹下生成了。实在无语。对于手机开发还真是菜鸟阶段啊。本来感觉j2me,比起j2ee简单多了,可以说比j2se,在编程上还简单。现在发现j2me的难点所在,就是不同机型的熟识程度。
做了三天的j2me开发,发现很有意思,你j2ee开发快多了。
如此奇怪的事情,不得不记录下。 让像我一样刚开始j2me开发的菜鸟,少走点弯路吧。累了睡觉去了。
唉,因为这件事,今天的三份报告都来不及赶了。。。。。

2009年3月24日星期二

【转】了解ruby的优点与不足

在目前的主流web开发技术例如J2EE,ASP.net,PHP,Python,Ruby当中,基于Ruby语言的rails框架是做网站开发速度最快 的工具了,可以达到J2EE框架开发速度的5-10倍,并且程序代码量也只有使用J2EE框架开发的1/5以下。因此使用Ruby来开发JavaEye网 站,能够把网站的开发周期缩短5倍左右,也就是说,如果用Java开发JavaEye网站需要5个月时间的话,那么使用Ruby仅仅1个月就够了。另外由于代码量的大幅度减少,网站整个的维护工作量也大大降低。因为使用Ruby带来的开发和维护上面 的好处实在是很诱人,能够几倍幅度的降低我们的网站开发周期和维护成本,那何乐而不为呢?
目前Ruby在国内应用很稀少,也找不到什么可以借鉴的经验.不过对于本来就是资深的开发人员,又运营高端技术社区来说,这些都不是什么障碍,Ruby无论如何,还是比Java要简单,只要适合我们,什么技术都可以拿来用,对于高水平的开发人员来说,用什么编程语言都一样,精通Java的去搞Ruby,完全没有什么障碍。
从目前的状况来说,Ruby还挑战不了Java的地位,从可以预见的将来,Ruby也不太会取代Java的地位。这是因为:

1) Java能够成为应用软件开发的主流,是有很多因素综合作用导致的,而且也有一个历史机遇的问题。当应用软件开发方式从C/S转向B/S的时候,Java 抓住了历史机遇,造就了目前全球大多数应用软件厂商都基于Java开发软件这样一个既成事实,Java的整个全球商业价值太高了,优势太大。并且从 Java自身的语法角度来说,也比较适合目前软件外包产业的大规模分工协作。此外Java并没有固步自封,在开源社区和商业厂商双重强力推动下,Java 自身仍然在快速的进步,生命力很顽强。

2)Ruby目前只是在web开发领域比Java有很强的开发效率的优势,但并没有Java那么齐全的产品线,从基础软件到Web应用软件,从桌面到嵌入式开发,无所不包。

3) Java是主流的工业级别的编程语言,就单个程序员个体的编程效率来说,远远不如Ruby,但是很多软件公司,特别是软件外包往往是几十人,上百人大规模 团队协作开发,甚至异地大规模协作,在这种情况下,个体的编程效率并不重要,重要的是团队之间协作和模块独立分割以及组合,Java能够很好的满足这种软 件开发模式的要求。但是Ruby很显然并不适合这种软件开发模式,Ruby更加适合小规模团队(一般少于10人),采用敏捷开发方式,高效率的开发软件。

但是Ruby取代不了Java,并不意味着Ruby就不值得去使用。特别是对于开发团队规模比较小,对软件开发速度有比较高要求的情况来说,Ruby肯定是更好的选择

Ruby的优势主要有:

1) Ruby是一种动态面向对象语言,具有很多强大的面向对象的高级特性,例如open class(对象的类别可以在程序运行期被动态的改变),duck typing(由对象行为决定对象类型),meta programming(元编程),block和closure(块和闭包)等等,可以轻松创造出来Java语言很难实现的功能,因此可以极大提高编程效 率,减少代码量。

2) Ruby更加贴近英语的自然语言,描述和表达能力很好,语法扩展能力很强,因此被用来作为DSL(领域专用语言),例如Ruby的构建工具rake就是一种DSL。而Java则不具备这样的能力,从而不得不借助使用XML来描述各种配置信息。

3) 基于Ruby语言的rails框架,除了充分利用了Ruby语言强大的语法能力之外,rails框架自身也有很多理念非常领先的创新性技术,例如简化的 ORM框架ActiveRecord,Database Migration,以及支持REST特性的URL Route等等。在这些方面,Java的主流框架在技术创新能力上被远远甩到了后面。

4) 除了技术因素之外,基于rails框架来开发web应用,最大的优势就是开发速度快,一般认为达到使用Java的5-10倍速度,另外代码量很少,这是Ruby吸引很多开发人员的主要原因

5) 使用Ruby on rails开发web应用,其入门门槛和学习成本要远低于使用Java,一个基础扎实的程序员通过一个月学习就可以熟练使用rails开发,但是学习三个月,都未必能够熟练运用主流Java框架来开发。
Ruby的不足:

1)从技术角度来说,Ruby解析器的性能比较差,远低于Java的JVM。不过对于Web应用来说,这个缺点没有什么影响:因为Web应用的瓶颈往往出现在数据库访问上面。另外Ruby的VM将可能在2007年底推出,届时ruby性能会有一个很大的改观。

2)相对比Java丰富的各种第三方类库来说,Ruby的第三方类库显得非常缺乏,而且不成熟,特别是针对企业应用的各种第三方类库支持,空白点很多。这是目前制约Ruby在企业应用普及的最大障碍之一。相信随着时间的推移和Ruby的普及,将会有所改善。

3)Ruby,特别是用rails开发的web应用在Windows操作系统上面得到的支持还很不够,传统上都是部署在Unix/Linux操作系统上的。Windows目前来说只能作为开发环境,而不能作为生产运行环境。
综上所述,我们不难看出Java和Ruby不是两个相互对立的开发语言,对于Ruby和Java谁更具有优势的讨论意义已经不大,首先从Java本身 来讲,,Java有其自己的优势,并且 Java将会继续处于顶峰,并在企业应用上保持良好的表现,这一点毋庸置疑,并且已经得到了市场的证明。

另外, Ruby有极强的文本处理能力,与Perl不分伯仲,同时,Ruby的语法简单,还有异常处理以及迭代器等构造使编程变得简单明了,这也正是我们所期待的下一代编程语言。

如果单从某一种语言的角度来看,我们似乎并不能看出什么,但是如果站在更高的位置,从不同的角度全面的看待问题,我们不难发现,二者将会求同存异,各自发挥自己的特长,从而使我们能构建出更加强大的应用程序。

Sun 收购JRuby的同时,Charles Nutter JRuby 的核心开发者之一, Thomas Enobo也加入了Sun。这似乎能够让我们把Ruby和Java联系在一起,Sun公司如果能够在JVM上做充足的投入,更好地支持动态语言, 拥抱新的事物,依托Sun公司的强大实力和其自身独特的优点,Ruby必将会有巨大的市场,同时,Ruby也需要一个过渡期,在市场中得到验证,让更多的 人去使用它,但就目前来讲Ruby已经从暗流涌动,开始扬帆远行!

值得思考的问题

今天查资料的时候看到一篇女程序员写的奋斗史,字字艰辛。其实我想不管男女都差不多,这行的饭还真不是好吃的。现在并不后悔进入这行,只是心中产生了一个疑问:到底是我在玩电脑,还是电脑在玩我?
这个问题在脑中产生后,发现真难回答。很无奈,又是还真觉得自己被电脑所牵制。干这行要学得太多太多,跟新的速度永远比自己掌握得快。无时无刻不在学习,不在提醒自己不学就会落后很多。每天几乎都是对着电脑,娱乐在这,学习在这,又是吃饭也对着他。每天重复着打开电脑开始一天的生活,关掉电脑就是合眼睡觉。
这行确实不适合女性,也不适合男性。

到底是我在玩电脑,还是电脑在玩我????