1. 真相

    这个世界纷纷扰扰,浑浑噩噩,我们的天性需要我们将所有复杂、混沌的事情变成有序、合理、简单的事实,这样你才能够更容易理解,就象电话号码 一样,你试图寻找一些规律才记得住,同样我们也喜欢为任何事情寻找一个理由、原因、解释诸如此类,使得事情在发生后“说的通”。而且还有个重要事实,那就 是许多人不知道自己真正想要的是什么,所以不管你给他什么,他都会欣然接受,这就是为什么许多人活在新闻媒体大话娱乐的轰炸没有思考、没有真相,只有经过 别人扭曲的世界里。大家“像电视里一样衣食住行,像电视里一样追求爱情,像电视里一样成家立业,像电视里一样教育抚养,甚至像电视里一样思考,人们做着电 视里的任何事情。”,“因为你们当中看书的人不到3%,看报纸的不到15%,你们只关心怎样才能从电视里找到解脱,现在,有整整一代人,根本不知道电视外 面是什么。”,这是30年前《电视台风云》中 的话,即使到了30年后的今天,也仍具意义,只不过,电视机变成了现在的互联网,“我们有天涯猫扑豆瓣,有意 见领袖娱乐天王商界精英,他们教我们民主自由民族主义,教我们寻欢作乐无病呻吟,教我们追求物质追求成功。无处不在的商业文化牵引着我们的价值观,全球一 体化吞噬着民族传统。我们,已经丧失了辨识的能力,在是非善恶中纠结,在虚拟中追求虚空。现在,有整整一代人,整整一代的宅男宅女,根本不知道互联网外面 有什么。”,我便是典型的互联网rocker,我的生活已然离不了互联网,但是有一点,互联网与电视机不同之处在于,互联网可以存在许多不同的观点,不像 电视机那样观点统一,但是现在周末的我毅然决然会关掉豆瓣、关掉百度、关掉google、关掉刚用上的mac系统,走出去,来到大自然。但是即使这样,你 仍不知道真相为何物,就象你不了解你自己那般。你不知道的是也许我们只是活在一个电子游戏里,我们只是一堆有感知并活在自己的想像里的智能真体,一旦插在 自己身上的电源被拔掉,你便消失在这个“真实”的世界里了。如果你是一名基督徒,那便更麻烦,你甚至分不清童话与现实的区别,你相信一个人活在鱼的肚子里 三天三夜,而不相信进化论,你不相信圣经中的故事大多是山寨,他们来自一个个天文现象,你不相信这些故事只是那些统治者为了不让你思考而编写的谎言,你反 问我如果我错了怎么办,是啊,如果我错了又如何,但是柯南说“真相永远只有一个”,也许你宁愿相信911事件真的是恐怖分子的恐怖活动,而不愿意相信这是 美国政府自导自演的苦肉计,这只是为了满足个别人的贪婪,和”美来自选择一样“, 你需要选择一个你觉得对你来说可接受的真相,那么这又进入了一个认知的问 题,因为你知道的东西会帮助你做判断,但是你不知道的东西,因为你不知道,所以在你做出选择后你觉得你的选择是正确的,一旦你知道新的知识了解到新的事实 听到新的言论,能够可以再次做出判断时,也许你会发现你一直相信的真相其实是一个谎言。所以,你知道的东西往往不重要,你不知道的东西有时却是至关重要 的。我的建议是:读书。

  2. 美来自选择

    最近在看Programic Thinking and Learning,里面有句话是“Beauty emerges from from selection“,美来自选择(而不是美宝莲)。书中说艺术不是来自创造本身而是来自在无尽的选择中作出的选择,音乐家在乐器,旋律,音调音阶,节奏 中其实有几乎无限的各种组合。画家可以在两千四百万种不同的色调中作选择。作家要在5万多个汉字,以及上百万个词语中选择完美的字句。你听什么歌,看什么 书,写什么样的代码,用Ubuntu还是Fedora,体现出的是你对美的看法。再从ipod的包装说起,ipod的包装没有太多废话,只是说它能存多少 首歌和视频,然后配有一个漂亮的图片,简单直接,但优雅。相比起来,Youtube上有段视频是说明如果让Microsoft来设计ipod会是什么样: 复杂的包装,包装上充满了高密度的文案,商标,图标,免责声明,等等诸如此类,最后会有个硕大的印刷体字:30GB。这就是重要的一点,iPod告诉你它 能存放的歌曲数,而微软风格的iPod(以及其他mp3设备的竞争者)告诉你它可以存放的G字节数。实际上顾客不在乎G字节只有我们这些geeks才会关 心,大多数人只想知道它能存放多少首歌曲,或者视频、照片。事实证明iPod极具魅力,无论是包装还是用户界面和音质。它是mp3市场霸主:有魅力的东西 总是有效。拿现在的淘宝来说(阿里巴巴就不说了,他的用户是中小企业,阿里巴巴对他们来说,美学上的东西没有太多感觉),虽说他是C2C的老大哥,但是在 我看来它只不过是砸钱胚子,无论是他的底层技术(看看他们的推荐,再想想你买件东西平均花多长时间)还是用户界面还是铺天盖地的广告。我觉得淘宝应该想象 一下如果Google要作C2C会是什么样子,我想那时两者竞争的不是搜索技术(虽然两者的差别很大)和谁的现有用户多,而是美学上的竞争。 从现在开始,记住,美学使得一切变得不同,无论是用户界面,还是你的代码布局和注释,选择的变量名,抑或是你的桌面安排,以及任何事。

  3. 如何意淫?

    如何意淫? 施能毅和我谈到意淫,我无法体会他所说的意淫为何物,SICP我还没有读,我无法体会把完成SICP的习题当作玩具的感受是什么样子,他说用一个月学会扫雷游戏,而在看完SICP后只消一周时间就打败了FIFA游戏的机器人。 那么到底什么是意淫?我通过搜索引擎去查找什么是意淫(当然,意淫一词在网络上被称为YY), 意淫一词最早源自《红楼梦》第五回:游幻境指迷十二钗 饮仙醴曲演红楼 梦,下面是百度百科的解释:

    (警幻仙子谓贾宝玉为“古今第一淫人”)“如世之好淫者,不过悦容貌,喜歌舞,调笑无厌,云雨无时,恨不能尽天下之美女供我片时 之趣兴,此皆皮肤淫滥之蠢 物耳。如尔则天分中生成一段痴情,吾辈推之为‘意淫’。‘意淫’二字,惟心会而不可口传,可神通而不可语达。” 是一种超越性爱的感情方式。可谓情爱中的极品,可以算是个大大的褒义词。 后来,意淫一词出现在mop等各类网站,知不切实界地胡思乱想。不一定指下流的想法。yy小说就是通常用来实现在现实中没有办法实现的事情,还显得津津有 味。但凡想法天真,内容强大(主人公)故事情节严重不符合事实逻辑。概称为yy。 “意淫”这个曹雪芹创造的语汇,因为里面有一个“淫”字,历来被人误读误解。现在有的人写文 章,把它当成一个绝对贬义的词汇,理解成“在意识里猥亵”,甚至“在意识里跟看中的人性交”那样的含义,说谁“意淫”,就是批评谁心思不正,下流堕落。这 样理解“意淫”,绝对歪曲了曹雪芹的原意。这个概念是曹雪芹通过警幻仙姑,在第五回快结束时,很郑重地提出来的。建议大家再细读相关的那些文字。 警幻仙姑跟贾宝玉说:“ 吾所爱汝者,乃天下古今第一淫人也。”这当然把贾宝玉吓一大跳,宝玉就忙道饶,说自己因为不爱读书,已经被家长责备,岂敢再冒“淫”字,自己年纪小,不知 道“淫”字为何物。这时警幻仙姑就给“意淫”下了定义,她说,淫虽一理,意则有别,如世之好淫者,不过悦容貌,喜歌舞,调笑无厌,云雨无时,恨不能尽天下 之美女供我片时之趣兴,此皆皮肤滥淫之蠢物耳;那么贾宝玉呢,她认为他不是这样的,而是脱俗的,是超越皮肤滥淫的,她说,如尔则天分中生成一段痴情,吾辈 ——也就是仙界众仙姑们——把这种痴情,推之为意淫。“推之”就是推崇为,充分地肯定为,可见“意淫”在这里被确定为一个正面的概念,一个不是一般俗人所 能具有的品质,是贾宝玉天分里、人格里,一个非常值得推崇的优点。那么,对青春女性不 存皮肤滥淫之想,没有轻薄猥亵的心理,究竟是个什么样的态度呢?警幻仙姑进一步说,意淫二字,惟心会而不可口传,可神通而不可语达,汝今独得此二字,在闺 阁中,固可为良友,然于世道中未免迂阔怪诡,百口嘲谤,万目睚眦。确实,这两个字眼,我在这里引用,都有心理障碍,毕竟有些听我讲座,读我文章的,还是些 少男少女啊,现在我却告诉大家,这两个字眼,竟然是个正面的概念,在曹雪芹笔下,它是个褒义词,我也担心会有人认为我心术不正,误人子弟,嘲谤睚眦。但 是,毕竟曹雪芹就是这么个意思。你看他后面写贾瑞,癞蛤蟆想吃天鹅肉,两次被王熙凤耍弄,还不死心,后来得到风月宝鉴,人家跟他说一定要反照,他非要正 照,跑到镜子里去皮肤滥淫,最后死掉——他那个正照风月宝鉴的意识行为,曹雪芹使用了“意淫”的字眼吗?你去细翻翻,细查查,各种版本都查查,没有。曹雪 芹的“意淫”不是那样的意思,你怎么能误读误引,非用这两个字来表达类似贾瑞那样的意识行为呢?

    百度百科中还有更多解释,你可以去看看;http://baike.baidu.com/view/27746.htm以及http: //baike.baidu.com/view/17290.htm,意淫的概念还包括鲁迅先生笔下的 阿Q 其实也是YY的典型,他不但大多数时候是胡思乱想、精神胜利,而且偶尔也会有贾瑞的特征么以及《鹿鼎记》中的韦小宝等。不过我在初中时便读过《红楼 梦》(这得感谢我的老爹),但我的确对意淫这个词印象不深,但不管怎样我在keepwalking这个博客上的一篇文章:[搜索笔记]从意淫到歪歪 http://blog.donews.com/keepwalking/archive/2005/09/09/546731.aspx找到了一个稍微 精确一点的定义:用思想、意志力、精神力、超能力,总之是脑部运动来达到某种心理、生理、口头上的快感,这称为yy。不一定是要下流的。 初始时我觉得这个定义秒极了,我觉得已经找到答案,因为这个和我在尼采《疯狂的意义 : 尼采超人 哲学集》中读过的一句话有些相似,意志改变世界。而且意淫似乎也该是这样来解释,许多人都是这样意淫的,人们总是喜欢作不切实际的幻想,以得到快感。可是 我觉得这样的意淫似乎太浅显了,因为我觉得施能毅的所说的意淫不大可能是这样的解释。我觉得应该有另外的答案。 在不久前我看到一幅漫画,如下图, Python 图中站在地上的小人开场白是:YOU’RE FLYING! HOW? 而飞行在空中的小人则回答:PYTHON!I LEARNED IT LAST NIGHT!EVERYTHING IS SO SIMPLE!HELLO WORLD IS JUST print “Hello,world!” 惊叹号如此之多,连我都吓到了,可是漫画作者为何要让那个小人飞行在空中,为何不是简单的与地平线平行的面对面的对话。当然这是学了Python的缘故, 也是故事的起因,而飞行小人只用了一个晚上的时间学会了Python语言,这是真实的吗?也许是,也许不,因为这是漫画,可是任何创作都是以现实生活作为 参考的,就像科幻小说和电影中的怪兽或外星人,他们再怎么可怖,奇形怪状,都还是以人类形体为依据进行夸张的改造、变形,主观臆造是逃离不了客观生活的。 所以我们的这幅漫画也是有原型的,可能是漫画作者的朋友,也可能是作者自己。这样我们就得到一个结论,的确有人曾经用一个晚上或是一个很短的时间学会了 Python,而且体会到Python编程哲学的道义(当然这很厉害了,非一个了解很多计算机编程语言不能做到),他欣喜若狂,似乎已得道,感觉自己可以 飞行于空中。我不知道其他人学了Python后是什么感觉,我只觉得学了Python,懂了别人不懂的东西,觉得其他编程语言都是shit,没有其他语言 可以和Python相比,返璞归真,写代码就该是这种感觉,自觉高人一等,这个道理其实源自苏州大学的文学院教授陈子鸣,我曾经选修他的《演讲与辩论》 课,他曾经在课上说他自己当年读《西方哲学史》,通读全书之后,他认为不管自己有没有读懂这本厚厚的书,如果你坚持了读完它,那么就会感觉为人的境界比别 人高出一点,看事情也比别人明了许多(这便也有点意淫的味道了),而,他又说过一句话,我觉得很受用,一直到今天仍然记得:“人与人之间的差别就在于那么 一点点”,所以在《大话西游》里八戒说本来他比大师兄(孙悟空)高那么一点点,就因为沙僧这个累赘,现在他比孙悟空低那么一点点。所谓一人得道,鸡犬升天 (当然还有自己啊)。 我不知道有多少人体会过乒乓球、台球给人带来的快感,当乒乓球从对方抽杀过来,如果它以庄则栋攻球的最高速度时速126公里飞过来,球桌2米长,那么我从 球在对方球桌面弹起再从我这边的桌面弹起,这个过程可能只有0.06秒钟的时间,我在这个过程中,我需要对球的飞行轨迹作观察,对球的落球点作出判断,最 后在很短的时间内反杀回去。球的飞行轨迹可以根据球的最初飞行轨迹,球的旋转角度和飞行速度来预测,可是对于所有人来说是无法直接计算得出这些数据的。如 果真的去计算这些数据,预测球的落点就好像解一组极其复杂的联立方程式一样困难,而且每当球的轨迹变化,新的数据又不断涌现,这些方程式就得不断地反复运 算。如果我还是初中时的十几岁的少年,身边没有电脑、没有计算器、没有纸和笔、没学过微积分,而且只有短短的0.06秒,我该怎么办? 事实是我什么都不需要去计算,我利用我的神经网络的模式识别能力作出判断。我在初中时已经通过反复练球,观察球的飞行路线,我的神经网络经历大量实践,而 在我掌握所有诀窍之后,当球从对方那边反弹过来,迅速预测和判断落球点,然后通知我的右手(对,我拿筷子的那只),我不会在内心进行计算,大脑也不会作任 何无意识的计算,我所作的只是第二本能。 也许你认为我已经跑题了,因为我似乎只是在说一个普通的事实,与意淫没有任何瓜葛,是的,这或许不是通常意义上的意淫,不是上面我所作的解释和定义,而这 也正是我废这么多唇舌的原因,我觉得意淫应该是像《阿甘正传》中阿甘那种打乒乓球的方式,飘逸潇洒,随心所至,阿甘是个智障者,所以他作事情专注而无杂 念, 当然即使这样仍然无法做到意淫的,那么怎样才能意淫呢,而且大家可能对我所说的意淫还不太清楚到底指的 是什么,我再以一个例子解释,我在向施能毅询问什么是意淫时,他只回复了八个字:佛祖拈花,迦叶微笑。这是一个典故,是说佛祖给弟子讲授佛法,佛祖拈花。 众弟子不解,唯迦叶会心一笑,佛祖说迦叶已明佛法。当然这个有点玄,可是我觉得这是意淫,所谓意淫不是像韦小宝那样或像你那般作不切实际的幻想,不做任何 付出和努力而得到快感和满足感(而这样的以靠想象为基础的快感通常不能长久,偶尔的),它是通过不断地付出和艰苦训练的结果,而且是与大脑的活动相关的, 最终表现出的本能状态,是一种自由与平静的表征,但勤奋努力和艰苦付出又非充分条件,以乒乓球为例,许多人乒乓球可能打得花团锦簇,百转千回,他的确在少 年时代下了苦功夫花了大量精力和时间练习乒乓球,大脑经过长期的训练使得现在在接球时毫不费力,可是他仍然不是在意淫,那为什么阿甘是在意淫,诺基亚 N76的乒乓李小龙广告中的是在意淫,其实并不是因为没有人做得到,而是因为没有人懂得打乒乓球,大家在打球的过程中的想法受到了限制,“发球应该是这个 样子,抽杀应该是那个样子,打败对手是重要的,所以接到球是必要的”,电影中的阿甘之所以乒乓球能打成那样,全是因为他是个智障者,只有简单的动机,把球 接过去就行,对他来说打乒乓球就像在越南战争新兵训练营中的军队生活一样,不管什么问题,只用回答”是的,长官”就可以,简单直接,但对我们来说,他的打 法随心所欲,精确无比,可是在阿甘看来这只不过是重复本能运动,然后让打球更自然一些,当然这同样遵循这神经网络模式识别的道理。另外,大家可能都玩过扫 雷游戏,当然我们当中有些人从未玩过,他们认为只有安装文件大于1G的游戏才值得去湾,而像扫雷这样的小把戏简直是在浪费青春(这还真具有讽刺意味),大 家玩扫雷都知道玩法只需根据格子中显示的数字判断雷的位置通过一些简单的推断,然后把雷找出来,这是正确的,大家都是这么玩的,所以大家都不会意淫,我告 诉你另些人是怎么玩法,他们的鼠标左右键几乎一直在点,好像根本没有进行思考的余地,他们一次成功的几率不高(因为太快误点到雷上之类),但是若是成功清 除所有雷所花的时间却异常的少,当我问他们的时候,大多数人告诉我他是猜的。大家可能认为他们真的是猜,可是我告诉你,那绝对不是靠运气,你可以试试看, 他们由于玩了很长时间的扫雷,总想在速度上有所提高,可是如果真的一个一个去看那些数字然后在大脑中去计算和推理会降低速度,这样永远不会有提高,所以他 们不再看单独的数字,而是全局地去看这些数字,这些数字在大脑中形成一个图,通过不断训练,这些图形成了一个个模式,在以后玩的过程中,只需要大致地看一 下目前已知的数字的布局,然后用已有的模式去识别这些数字布局,而通常模式识别是比即时思考快许多的,这也是为什么正则表达式查找字符很快的原因,当然这 跟打乒乓球是同一个道理。再回到佛祖拈花,迦叶微笑的故事来,在迦叶已明佛法时,他是会心一笑,而不是把手举起来,然后佛祖叫迦叶站起来回答,接着迦叶 blah.blah说一大堆,他没有这样而是会心一笑,迦叶或许很聪明悟性很好,可其他弟子中可能比迦叶聪明悟性好的多的去,然而迦叶他懂得意淫,他会心 一笑,这是人最直接的本能,就像婴儿一出生就大哭,大家看到美女心底由衷感谢造物主,冒出一句“真漂亮”一样,任何懂得意淫的人,他的反应是最直接和自然 的,也就是我们所看到的潇洒自如,所以意淫的表达出来的是朴实的东西,如何意淫完全取决于你的付出以及到达的境界(阿甘没有什么境界不境界的,因为我们要 到达的境界就是真实、无欲无望),什么是境界?我觉得没有必要搞的那么深,如果你觉得对得起大学的三万块学费,就有境界了,真的。要不再八卦一下,大家知 道在电影世界里拍摄关于同一主题的电影的数目破吉尼斯记录的是黄飞鸿系列,大概有一百多部,关于黄飞鸿,他的功夫自然是了得,可是功夫比黄飞鸿厉害的高手 多的去,可是大多数人只是用功夫来打打杀杀,而对于黄飞鸿来说功夫是用来强身健体的,武力不是最终解决问题的方法,黄飞鸿打架时一般点到即止,很少取人性 命,因为你可以一拳打死对手,可是他服你吗?他不服你,为什么?因为他已经死了。如果在你给对手致命一击时,突然停下来,放了他,诶,他服你吗?他当然服 你。

  4. 怎样使你对编写程序发生兴趣?

    怎样使你对编写程序发生兴趣?
    海龙问我,有没有一本书能够使自己对编程感兴趣,我当时说我不知道,好像没有,事实是许多人在学了C/C++之 后,就失去了对编程的兴趣,觉得编程既枯燥又难学,我得承认C/C++语言绝对是一流的程序设计语言,它经历整整三十年依然为广大厂商和程序员采纳,可问 题是是否C/C++是最好的入门语言。C/C++固然是其他C体系语言的基础,比如Java,我也是在学习了C/C++之后学的Java,这时学习难度并 不是很大,至少是在语法方面,可是呢,你知道,许多人在C语言的指针问题上出了问题,它很难学(至少是对初学者来说),所以它绝对是个不折不扣的瓶颈,而 C++的面向对象实在是可怕(与其他面向对像语言相比),一堆需要花许多时间来理解的概念(至少我不明白,我认为这是蹩脚翻译惹的祸,辞不达意),友元、 虚函数、纯虚函数、模板等。另一方面,学校只教会你一门语言的语法,却不会告诉你编程的本质以及如何设计出好的程序来,什么才是真正的面向对象?什么是设 计模式?这暂且不说,再回到C/C++是否是最好的入门语言问题上来,很显然,你知道我要说什么:我想说不。那么谁才是最好的入门语言呢?我很想说是 Java,因为许多其他大学都将Java作为首选,而且我自己用起来最流畅的就是Java。可是我仍然认为Java也不是最佳的,因为我觉得最好的入门语 言首先应该具有一下几个特点: 0.简单易学 1.语言本身和自然语言(英语)相似度高,代码对人类可读性高。 2.可交互的 3.面向对象 4.通用性高 5.自由灵活 6.平台独立 7.开发效率高(见效快) Java只具有0,3,4,6,7,而0也要看条件,1 马马虎虎也算是。而这里我想说的是Python语言。我不想过多谈论Python有多么好,那没有任何用处。可是如果你若问我如何对编程感兴趣,那么我会 说:去学习Python吧。你看,Linux操作系统自带Python不是没有道理,而Googel、豆瓣使用它作为开发语言也不是心血来潮。我觉得初学 者如果能够迅速用一门语言解决掉一个有趣的或是是挑战性的问题,那么这会在很大程度提高自己对编程的兴趣,成就感也很重要不是?不需要编译也不要链接,也 没有莫名其妙笨拙的编译链接错误,只需几行代码,执行并给出结果,那该多好。看看下面最简单的例子: C++版

    #include void main() { cout « “Hello, world.” « endl; }

    Python、Groovy版本

    print “Hello,world.”

    试想一下你从来没有学过C/C++…
    你得明白,编程语言这玩意只是个工具,如果花在学习工具上的时间占用了大量时间或者很难学,很有可能使大家望而却步,根本就没有机会去解决那些有趣的问 题,是吧? 可是我仍然没有回答最初的问题,怎样使你对编写程序发生兴趣?因为即使是选择Python也不能使我对编程感兴趣啊,其实我觉得这得问你自己除了编程外对 什么事情特别的感兴趣,拿我自己作例子,大一时我对骇客技术十分好奇,我想黑掉一个网站,可是我不懂那些骇客技术使用的编程语言,我想大干一票,怎么办? 没办法,学习一个语言吧,于是我开始学VBScript(一种Windows上嫡系脚本语言),而且上了瘾,虽然这个语言现在我已经忘光了。可是如果你对 对Linux感兴趣、对好玩的硬件、对网络感兴趣,那么你就得去学C/C++,对不对?如果你是一名艺术爱好者,那么你可以去学Processing、 CSound,我可以双手按在圣经上发誓,这两种语言绝对能够让你痴迷,并沉醉于其中,只要你真的是热爱艺术,或者你发现游戏里那些带着智能的行为实在是 很迷人,那么你可能会去寻找一种你可以控制这种智能行为的方式,那是什么呢?编程,Java、C/C++或其他语言(Inform),又或者你对开发网站 很感兴趣,想写出想豆瓣那样的网站来,那么,啥都别做了,开始学习Python(ruby on rails,groovy on grails)吧…

  5. Everyone can cook

    最近看了迪斯尼出品皮克斯制作的动画电影《料理鼠王》,说的是一只会说一口流利英语的老鼠有着灵敏嗅觉而且对厨艺这方面有着不可思议的天赋,在通过与人类 的交往中展现了自己的天才厨艺,而且深刻地反映了贯穿影片始终的主题:Eeverone can cook. 可是并非人人都能成为优秀的厨师,这就是苏大后庄小吃一条街那些炒菜的师傅以及我们的老爸老妈与汉庭坊里的厨师之间的差别。其实这句话与Martin Flower在《重构》中一句经典的话:”任何一个傻瓜都能写出计算机可以理解的程序”(相当于Everyone can code)如出一辙,但他的后半句是“只有写出人类容易理解的程序才是优秀的程序员。”而这句话与我高中时代的化学老师兼班主任说的话又十分相似:要把你 写的化学方程式和计算过程写得能够让学校门外买早饭的老太婆都能看懂。(如果你是江浦高级中学的学生,并且是王宏明老师教的化学,或许你会熟悉这句话)最 近我还看到了IBM网站上的一篇文章叫《Everyone can refactor》http://www.ibm.com/developerworks/cn/linux/opensource/os-ecref /index.html 可是怎样才能写出人类容易理解的程序呢?举个例子吧: 反例: 一个方法调用:w44();你知道什么意思吗?w代表with,44是逗号“,”的ACII码值,它是用来将字符串以逗号隔开的格式化。如果不去看方法里 面的代码,鬼知道它是什么意思。 而下面的: november(20, 2005);你可能一眼就看出它是什么意思。 它的原型是public void Date november(int day, int year); 而同样 java.util.Calendar c = java.util.Calendar.getInstance(); c.set(2005, java.util.Calendar.NOVEMBER, 20); c.getTime(); 也能实现上面的功能,但是两者谁更容易使得学校门外买早饭的老太婆理解呢?

  6. Processing…Processing…Processing…

    我琢磨Processing已经有些日子了,对于这种小型计算机语言,我总是抱着”Just for fun”的态度来尝试,的确它真的满足了我的猎奇心理,而且很好玩很强大很有创造力。语法很简单,由于是基于Java语言,所以在很多方面,它秉承了 Java特性,对我来说学起来很快,不过这种语言不是给一般的程序员使用,It targets visual designers and artists.许多年前,凡高用颜料和画纸、画笔、调色板创作油画,古代中国人用墨水、宣纸和毛笔创作水墨画,当代有素描画、蜡笔画、炭笔画、水彩画 等,我在高中时代甚至用蓝色圆珠笔和素描纸作画…可是在计算机技术横行的时代,传统的艺术形式显得太保守了点,现在Processing正颠覆这些传 统,可是你不要以为他是Photoshop、Flash、Google SketchUp、3DMAX或是其他设计软件,Processing是一种计算机语言,就像Java、Python、Scheme. 他是用Java语言写的,Open Source,用来创作数字艺术,你通过编写程序代码,创作一件艺术品,通过分形,递归,适当的和谐函数,你可以获得极佳的效果,当然你可以将它保存生成 的图像格式(如png,tiff,jpg等),同时还可以输出Applet小应用程序在网页上显示(他可是基于Java的,没什么好奇怪的吧),个人觉得 图片就没有这个必要了,一般动画影片可输出为Applet,可能忘了告诉你,Processing还可以创作动画和影片等许多多媒体形式。 Processing可以运行在Windows、Linux、Mac上,需要Java虚拟机,所以如果你没有安装Java环境的话,记得下载一个自带 Java的包,Processing的官方站点是www.processing.org,感兴趣的话,尝试一下。下图是我的初次尝试:

    From Processing From Processing From Processing From Processing From Processing From Processing From Processing From Processing

  7. 把Gmail邮箱当硬盘使(在Ubuntu上挂载gmailfs)

    以前在《Google  Hacks》上了解到GmailFS可以挂载到本地硬盘,今天没事干,在Ubuntu上尝试玩了一把。
    前提:1’ 有一个Gmail帐户
    2’ Ubuntu操作系统
    3’ 可以连上Internet
    Just do it:
    终端上:
    b@t:~$ sudo apt-get install gmailfs
    b@t:~$ sudo mkdir /mnt/gmail
    b@t:~$ sudo mount -t gmailfs none /mnt/gmail/ -o username=toozoofoo,password=mypassword,fsname=Linux
    可能终端会出现Ignored option :rw的提示,那没关系。
    事实上我并不知道挂载成功是什么状况,因为挂载后,什么也没变,/mnt/gmail里什么也没有,可是当我在这个挂载点上创建一个目录时过程有点缓慢,
    b@t:~$ sudo mkdir /mnt/gmail/Hello_Gmail
    我知道它是联网在远程gmail服务器上创建了目录,那么我想应该是成功了。并且当我登录我的gmail时有四封电子邮件,发件人是我自己,其中一封很明显地告知我已经挂载成功:
    标题:

    v=3 r=1222872307 q=__g__Linux__h__

    正文:n=__c__Hello_Gmail__d__ p=__a____fs____b__ l=__e____f__
    虽然有些符号看不明白,但不打紧,我见着了Hello_Gmail这个字符串,它正是我创建的目录名。