Monday, September 29, 2008

来自编辑器的感悟

很久没有在校内写东西了,来涂鸦一下,说说今天的感想。(自我感觉内容还是比较超值的,其中会包含一些技术词汇,但是它们不影响主旨,而且我相信不了解的话应该不影响阅读)

===== 引子 =====

今 天很奢侈的浪费了一天企图寻找一个合适的文本编辑器(作者注:文本编辑器是一种用来编写无格式字符文件的软件,最常见的例子就是Windows上的记事 本),因为昨天终于成功的申请到了GAE,兴冲冲的跑去看官方的教学录像。一个工程师gg演示了如何建立一个最简单的留言板程序。可是我看了半天完全没注 意他写的内容,只看到他用的文本编辑器好智能,好漂亮,好强大,好让我口水……后来定格了他切换程序时的画面,原来他用了一个叫做TextMate的文本 编辑器,可是这是个Mac独享的软件:(

在网上搜索的时候看到一个人在blog里说为了用上TextMate这么一个需要四十美刀注册的文本编辑器(注意,在这里想想我们的记事本),专门花了一千美刀买了一台Mac电脑。这让我有了好多感慨——

===== (一)总有创新的地方 =====

在 TextMate之前,这个世界上就已经有了很多的文本编辑器了,从Windows上不要钱的记事本到传奇的Vi和(X)Emacs,即使是在Mac平台 上也有老牌的BBEdit,单单是我知道且能够不费力气在纸上列出名字的文本编辑器就有二十多种。就在这么一个小小的领域,TextMate还是一出现就 凭着它优秀的自动补全设计让人如梦如醉如痴迷。
所以不该再感叹为啥当年苹果砸了牛顿的头而不是直到今天才砸到自己的头。不要说这个世界上已经有了 好多的xxx,所以再做xxx是不可能的了。一个以前没人做过的市场似乎更容易霸占,可是有时候一个创新就可以把所有的前浪送到沙滩上。而在这样一个人类 知识飞涨的时代,想出一个别人没有想过的东西很困难,想出一个全新的做事的方式更困难,但是这并不意味着不可能。

===== (二)细节决定结果 ======

说了这么多TextMate如何迷人,或许即使对技术没有多大兴趣的人都有点想知道她到底有什么特别了,其实很简单,仅仅是她的tab键很智能。比如我在html文件中输入head再按一下tab键就会得到这么一大堆东西:
<head>
  <meta content="text/html; charset=utf-8" http-equiv="Content-type"></meta>
  <title></title>
</head>
看 到这里,即使你不知道上面都是些啥东西也知道为什么我爱她了,她太聪明了,把我本来要敲半分钟的东西瞬间搞定了。在TextMate之前没有一个这样的软 件,使用这么简单的tab键完成如此有效率的自动补全,在未来也许会有,可是它还没有出现。就是这样一个细节的功能成就了一个伟大的编辑器。

===== (三)不要过早的下结论 =====

看到这里可能大家都觉得这几乎是一片TextMate的枪文了,呵呵,那么你错了,今天关于编辑器的故事还有一个主角没有登场呢,而现在才是说起他的时候。
他是VIM。
我 没有把任何形容词放在这个编辑器(对,就是那个两个月前我在blog里面抱怨编辑器)的名字前面,因为我找不到这样一个词。在我苦苦寻找的时候,有人告诉 我VIM有个插件能够实现“类似”的功能,此时已经不抱什么希望的我装上了这个插件。打开一个html文件,输入head,按下tab——奇迹发生了,一 个智能程度丝毫不输于TextMate的补全让我的心跳速度瞬间飙升一倍。
就是这么简单,不需要四处搜索,不需要更换电脑,不需要花费一分钱,一个这些天天天面对的东西,就在这一瞬间,如同蜘蛛侠穿上了他红色的外套一般让人认不出来了。有太多习以为常的东西和人被忽略,有太多“理所当然”的结论来得过于匆匆。

===== (四)海纳百川 =====

十七年前,连Windows95都没有诞生的时候,256色的字符显示器还很常见的时候,VIM就诞生了。而与他十分相似的他的老爹——vi编辑器——早在1976年就已经出现了。是什么让一个软件32年薪火不灭,至今仍被我等geek歌颂与崇拜?
可不断演进的能力。
VIM可以装上许多根本想象不到的插件(比如上面提到的snippets插件)从而吸收各种编辑器的好处,他可以学习一切新的东西,因此他不会过时;电脑的硬件性能,软件使用的方式,操作系统的环境无一不在剧变,而VIM通过不断的学习补充顽强而成功的活到了现在。
做人当如VIM。

Saturday, September 27, 2008

写在秋风萧瑟的日子

今天看到一篇日志,勾起无数感念……
中午走在过街天桥上,才发现即便在这正午的阳光下,风儿还是那么侵人肌骨……抑或这寒冷不是来自于外部吧。现在的自己真的有些让自己都不认识了,一年前的我不会给老师写信说最近没有可以着手做的事情感觉困惑;每天在实验室待到最后离开,其实也不是为了实验室通畅的网络。从来没有这么想做成一些事情,准确的说是去做一些事情。大概认识我的人都不觉得我是那种很有理想喜欢呆在聚光灯下的人;一个带有些“不靠谱”气质的geek似乎是对我最好的描述。又是什么把我变成了滚筒里奔跑的仓鼠?
大抵是空虚吧。
每个人都应该有自己的生活;都要做独立的自己,有自己的目标,自己的快乐;做事情不是为了给众人看也不是为了某个人。“每个人都是刺猬,距离太近就会互相扎到”这样的道理也是知道的;不想成为麻烦,所以会在一次次打开msn窗口后又按下Esc。一个人穿过街上的人流,即是寂寞也是安宁。
曾经有人找我PS了一张做CD封面的图,right here waiting for you,正如你所猜到的那样是用作礼物的。等待,一个渺茫的希望,也许是很傻也许是很聪明,如一壶浓茶,苦甜自知。

Wednesday, September 24, 2008

信息多了也不好

最近我向geek的方向发展的比较快,当然这也和我本来的专业就是一个有点geek的玩意儿有关系。不知道什么是编译器的请点击链接。当然像我这样的还在看GCC internals的家伙都算是门外汉……用我老师的话说,“GCC的结构比较简单”-_-b
言归正传,为了做一个合格的说“外星语言”的geek,我最近在研究geek们喜欢的工具(当然这也和师兄至今也没有给我分配什么需要做的工作有关系,呵呵)。表面上看是出于崇拜伟大的Eric S. Raymond,因而学习他喜欢的编程语言,实际上是因为实验室已有一些python脚本,我这种懒人自然是抱定了继承师兄师姐工作成果的信念。不管怎样,我是下了决心要买进python的大门了。
要学一门编程语言对我来说实在不应该是一个问题,虽然我还刚刚是编译器的入门级研究者,编程语言在我眼里已经是基本上差不多了——只是表达结构不太一样,最后都会变成三地址码的。可是既然是自学就要找书看吧。python的书籍其实还是很多的。各大出版社从O’Reilly到Sam都有书讲python,还有很多开源的书籍文档。这时候看什么呢?
最开始看的是O’Reilly的Learning Python,这个系列的书总体是质量还是不太差的,不过却也不是很容易的样子。后来看上了Dive into Python,这本书看了大概几百页的样子就看不下去了,它的结构实在是有些诡异,既有点像给编程新手的又有些像是给python老手的,总之觉得它不对我的胃口。
今天又在smth的python版上发现了一本叫做A Byte of Python的书,感觉相当的平易啊,虽然是英文的一样可以看得飞快,而且也很有收获,顿时有点相见恨晚的感觉。
到Amazon.com上敲一个python进去,二十多本书跳出来,还有主页上的开源文档十余篇,在这里到底哪个才是适合我的?现在感觉很多领域都是,有太多的资料可以看,已经不是找不到书看的时代了,是书太多不知道看哪一个的时代……有什么好的解决方案呢?这是一个复杂的问题啊,谁想好了如何解决信息质量的问题我一定先要个签名,以后见人就说我认识当下如日中天的xxx公司的xxx呢;)

荒废的一天

早上有一次睡过头了,自从我到了科院好像只有一次早上上课没有迟到,自己都觉得有点发指……算法课听得十分的糊涂,本来一个ppt动画就能说明白的事情,非要用word来讲,还在黑板上写了长长的一段代码,唉,这个授课方式实在是有些落后:(
下了第一节课出来,太阳虽然升起来了但是并没有像我预期的那样暖和,穿着短袖衫感到的不仅仅是凉爽了,还有些许寒意。短暂犹豫,还是放弃了回去加衣服的想法,去了实验室。很快解决了第二次的统计作业(其实代码昨晚上就写好了,今天补上文档而已),发给了TA。下次交作业就是十一后了,miahaha~
写完了matlab作业就开始无所事事了……这也就进入了今天日志的主题……上网转转,看看有没有课件更新。于是想起来一门课似乎需要做基于web的快速开发project,而我的C#基本不会,J2EE仅仅知道是什么。搜索了一下电子书,找到了一两本据说是经典的,不过都是外文的(传言说比较老的版本有中文翻译,不过质量差到了还不如英文原文好懂的程度)。然后在我看了两个目录,还在犹豫是要接着我一知半解的C#学下去还是索性学习一下Java(会这个似乎比C#对找工作有好处?),这时候就被叫着吃午饭了……上午就这么完了,收获就仅仅是知道了J2EE和J2SE的区别-__-b
下午是一下午的自然辩证法,课上我很勤奋的看了三十多页的龙书,在这种有点困的情况下还能看这么多,自己都觉得很奇迹的:) 课上仍旧是放了discovery,这次是伽利略的故事了。纪录片结束的时候提及了米国关于教授物种进化学说的争论。作为伟大社会主义国家培养出来的好青年,加上十几年科学教育,我从骨子里视宗教为愚昧野蛮的象征;看了这片子更是认为有必要打倒一切旧宗教,树立唯物信仰了。
下了课回到实验室继续无所事事……在卓越上定了几本书,U盾都特意找出来了付款方式却弄错成了“货到付款”:( 算了,就这样了吧。(仔细比较了一下卓越,当当和china-pub,价格其实是差不多的;不过china-pub的快递太慢了,当当的网站很多书都不显示封皮,而且有人在那买到的书有些脏;而卓越还是又快又好的。不过据说卓越盈利情况不好,嗯,这是为啥子呢?)
晚上收到了州杰发过来的班里的通讯录,是foxmail导出的cvs文件,导入到我的outlook 2007中比较乱。于是又用excel打开,简单处理了一下(就是用了用left,right,len,concatenate函数倒腾一下),存成xls再导入outlook就很顺畅了:) 折腾完了就回寝室洗衣服去了。
=====最后感慨一下=====
唉,我现在的编程语言都开始混乱了(C, C++, C++/CLI, Matlab, VBA, python, bash, Java, JavaScript, ……)不知道该为我会这么多高兴还是该为记忆相互干扰忧虑……

Tuesday, September 23, 2008

英明神武与杞人忧天是邻居

今天从上午开始冷风就飕飕的刮起来了,可是早上睡过头的我又是没有带伞就跑去上课了-_-b到了下了下午课的时候就已经是十分的阴沉了,树都在西风中喧哗起来,仿佛都在议论即将到来的秋雨。
这个时候一个十分“英明神武”的想法出现在了我的脑子里,应该先去前台借一把伞哦,不然等下雨了就借不到了:) 前台的JJ’s很是理解我的做法,伊们也在感叹着天气的多变。拿着伞就是有恃无恐了,可是等到我晚上十一点从楼上下来才万分遗憾的发现原来没有下雨,唉,白聪明了一场:(
话说我的先知能力有时候还是有用的,就比如八月底我刚回来,就在超市里买了袋子的奶粉。当时先是拿了伊利的,想了想最后还是崇洋媚外了一把,买了雀巢的。那时我是多么的英明神武啊,啊~不仅避免了喝了毒奶粉后的忧虑,还避免了两袋子奶粉钱的浪费:)
英明神武和杞人忧天真的很接近,接近的就像是邻居,而这两家必然是用纸板做墙壁的……

Monday, September 22, 2008

秋雨缠绵的周末

早上起来的时候天气很是不爽朗,雾霭蒙蒙的感觉。订阅的Google的免费的天气预报短信也说今天会是下雨的。可是还是抱着侥幸的心里伞都没有拿就骑着车子去了实验室。早上的实验室里人真的是很少,整个六层人用手指头都可以数的出来,整个612灯都没有亮,开了灯后显得十分的空旷。
读书……后来不知道什么时候有师兄过来了,然后是午饭,饭后天气更加沉了,于是打算饭后回去拿把伞,可是走到楼下才想起来出来吃饭的时候把钥匙放在实验室了,唉,太没有预见力了。于是又无奈的走回去,接着看书。
到了快五点的时候终于把计划看完的都看完了,往楼外眺望发现已经下雨了。还好周末的人是不多的,可以在前台借了伞回去:) 所里提供的是那种结构最最简单的长长的黑雨伞,真是多年都没有用过的东西了。不过撑在手里的感觉却是相当的好,比如今那些摇摇晃晃的折叠伞跟让人放心。嗯,撑着这种老式伞还能产生一些怀旧的感念,呵呵。
回到寝室打开电脑无所事事了一会儿,忽然看表发现已经是六点半了,唉,食堂没饭吃了:( 于是又撑着伞走在公寓门口的那条小径,寻找吃饭的地方。最后选了猫哥推荐过的大拇指中式快餐,8块钱的宫爆鸡丁饭,味道还可以,就是葱放的太多了,而且量少了一点……(好像最近食量有所上升的说)不提晚饭了,我现在又饿了……
晚上写了matlab实验作业,很多东西都忘掉了,一开始连matlab语言中矩阵下标是用[]还是()都想不起来了,完全空白的感觉,只记得%开头的是注释-_-b 不过写了几句就回忆起来了,啊,动态语言真是好学好用啊。做完作业又看了点闲杂的文档(C#编程之类的没有科学只有技术的入门书),看看表,已经十一点了。勤奋好青年的周末就这么要完结了,时间过得真快!
回来的路上走在那条很僻静的小路上,远处研究生院教学楼的射灯在雨水浸透了的路面上映出长长的光带,而路灯的光晕中雨点划过时很像一群银色的小鱼在水中掠过。在过街的天桥上我特意的放慢了步子,两排明亮的路灯一直延伸向远方,光被路上雨水星星点点的反射回来,看起来格外辉煌。一辆街车驰过,在远处转弯划出一条红色的弧线。走下天桥时可以清晰的听到细雨打在伸手可及的行路树上的声音,簌簌落落,给眼前的一切填上了寂寞的色彩。

Sunday, September 21, 2008

Matlab 2007a崩溃问题解决办法

为了做统计学习装了Matlab,做程序没有问题,可是当我想修改一下编辑器的字体的时候缺崩溃了,再尝试再崩溃。于是我认识到这是一个必然问题了。仔细检查了我的字体目录,没有发现畸形的文件啊。
这种情况下只好求助于Mighty的Google了,搜索中文没找到有用信息(sigh,中文互联网的知识含量真可怜),搜索英文在一个mail list里面发现有人提到在Linux平台下面也有崩溃问题,可以通过重定向Matlab的JRE来解决。于是照猫画虎的在Windows试验,安装jre 1.6,把安装目录里面的jre1.6.0_07目录拷贝到Matlab\R2007a\sys\java\jre\win32\目录下,然后修改这个目录里jre.cfg文件为1.6.0_07,保存,启动Matlab,再试,都好了:)

Saturday, September 20, 2008

今日杂谈

这篇都是不靠谱的东西,嗯。
  • “一定要出国”——今天实验室一起吃晚饭,师兄吃完的比较快,于是看食堂里的电视了一会儿。饭后回去路上,师兄突然冒出一句,大家以后还是一定要出国啊,国内吃个饭喝杯奶都提心吊胆的!
  • 伊利是傻瓜新浪是流氓——话说伊利这次在奶粉门中也是黑榜有名,而这个时候新浪也是想钱想得过了头,竟然在收了伊利好处后故意在黑榜网页上的伊利二字中间插入不可见代码以帮助其逃避搜索引擎。
  • 乐极生悲——话说这个假期我感觉自己对于设计的理解和实现能力又有提高,正在沾沾自喜就到了现在,别说折腾数字艺术了,走个神都是奢侈了。
  • 要搞清楚自己做事情的目的——这个真是最困难的事情之一了,为什么要做这个实验?做的结果能使我们对于世界的认识增加多少?不知道牛顿当年被苹果砸是不是蓄谋已久的……
  • 标准就是一切——这里不是要鼓吹“自有知识产权”的国家标准哈~每个心中对于做事都有个默认的标准,这个标准的差异常常是矛盾之源,也是分水之岭。订好自己的标准,既不能随波逐流也要注意人至查无徒。(尤其是天朝这种农业味很浓的社会)
  • 坚持到底——为了鼓励自己,我考虑要不要买个有倒计时功能的钟了。嗯,要是有人送我一个作为Xmas礼物我会很高兴的:D (我对“songzhong”这个发音没有什么坏印象,嗯)
  • 一日三省和一日三餐一样重要——我不喜欢绕口的表达方式,我不想当众人敬仰的思想家,但是一日三省自己的购物单能够减少开支,一日三省reading list能够少做无用功。

Friday, September 19, 2008

Google books真是个好东西 | 好日子过完了

今天做统计学习作业遇到了一个就“概率积分变换”(probability integral transform),有些不是很明白,这会儿也没别人在实验室刻苦了,只好自己解决。首先自然是动用good old wiki搜索无果:(

经过一番不怎么靠谱的Google和百度之后最后终于想起了Google books,一搜果然有很多书关于这个,虽然Google上的书基本上都是部分节选的,也不是很清晰,不过对于我来说这个根本不是问题,我又不打算全看,哈哈。很快就在一本叫做A Course in Mathematical Statistics的书里找到了比较详细的说明,定理的证明,推出的引理etc都有,hoho^_~

======我是一条分割线,啦啦啦=====

今天老师又想起来督促大家阅读龙书了,还要每个人在组会上讲解一部分。按照这本书的第二版修订者Monica S Lam女士的lecture的讲法,我们只要关注代码生成之后的部分就好了,可是这一部分我还完全没有看呢,十一之后就要开始讲了,短短20天时间里我得在上课写作业协助师兄做研究之余看600页艰涩的英文,啊,世界要崩溃了……(昨天还安慰姐姐说英文是一件需要时间的事情,干着急是没有办法的,可是600页就是中文也不一定有时间搞定啊)

我有位置没压力的好日子终于是过完了,唉,看书去了。