Category Archives: 小说

码踪侠影(0-2)

(本文是之前我在人人网上写的一系列小说,尚未完成,先把目前写的贴到这里吧)

 

 

“你知道吗?我的孩子,我们对主宰这个世界的神秘法则几乎一无所知。” ——教皇儒略三世

(本故事纯属胡扯,如有雷同纯属巧合)

雷哥站在软院一楼的圆厅中,腰沉三寸,足踏两仪,双手自然地搭在身体两侧,不知情的会以为他要跳骑马舞,实际上这是一种极其高深的架势。《五轮书》 里管它叫“无构之构”,《笑傲江湖》里说这是“无招胜有招”,我却知道,这乃是雷哥从C++的虚函数里悟出来的架势,就叫做“虚函数之阵”。

雷哥左面的人身长八尺,着西装革履,戴玄色墨镜,望之若雨果・维文,只是右手拿着一杆长枪,看来与他的一身装束极不协调。雷哥右面的人则是后面弯腰 驼背,前面大腹便便,头上的大胡子和长发散乱地纠结在一起,看来似乎想要模仿Richard Stallman的打扮,却整得神形两不似,只像是屌丝;更蛋疼的是,现在明明是大冬天,这家伙还是穿着一身油迹斑斑的T恤和短裤,让人不禁怀疑他没别的 衣服了。而在雷哥的正前方,则站着一个老头子,一头白发,一袭白袍,无风自动,像极了《魔戒》里的白袍甘道夫。

只听“hello world”的一声大喝,雷哥左侧的雨果・维文忽然出手,一杆长枪以迅雷不及掩耳之势刺向雷哥。只见雷哥不慌不忙,觑准了一个时机,转身移动到枪杆的侧 面,右手轻轻一带,枪尖便朝另一侧刚刚冲过来的Richard Stallman冲了过去,后者一个“冲”字诀刚刚发了出来,见状马上一个驴打滚才堪堪避开,其状狼狈不堪。不过这二人也不相互埋怨,四目一个交会,立马 又一齐冲向了雷哥。

我站在雷哥后方的位置观察着战局,与白袍甘道夫相对而立。只见雷哥虽然以一敌二,却丝毫不落下风。原来“天下武功,唯快不破”,雷哥的武功全都领悟 自C/C++,后者本就在现代编程语言中堪称速度上的无双王者;再加上雷哥这人平时写程序对效率的追求极其苛刻,数据能放在栈里的就不放在堆里,如果带上 汇编优化的三元表达式比if语句更快那就绝不用后者,这种追求在他修炼了传说中的神功秘笈CSAPP后更是进入了一种化境。

反观他的两个对手,速度上明显已经输了一筹。

那雨果・维文的功夫显然来自Java——Java本是为兼容多种平台设计的“一次编译,处处运行”的编程语言,所以从中领悟的功夫自然也是老少咸 宜,即使身着西装革履,也一点不影响招式的发挥;但另一方面来讲,即使施招者穿运动服,也提升不了多少速度——它的速度只能是这么慢了。更重要的是,由于 Java这东西号称“完全面向对象”,所以雨果・维文的每一招——即使是一个“hello world”——都不得不先封装成一个对象,然后出招;这样的后果就是,由于每一招招式都封装了起来,招式与招式之间相互承接的部分就会显得相当生硬,唯 一的办法就是使用各种设计模式来补足——这些设计模式虽然圆滑了招式之间的承接,却进一步降低了其速度。再加上这位雨果・维文似乎对设计模式的掌握还不够 充分,在应付雷哥凌厉的出招时便显得左支右绌。

而那位模仿Richard Stallman装扮的仁兄招式被我观察了许久,才发现并非来自Emacs Lisp,而是Perl。因此他的一招一式都让人搞不明白他到底想干什么,但有时候突然之间那些像疯人跳舞的比划就变成了妙不可言的一击,这着实给雷哥造 成了几次险境。幸而这位Richard Stallman似乎经常稍后自己也理解不了自己的比划是什么意思了,有时前面刚刚一招逼得雷哥暴露出五六个破绽,下面他却忘了该用哪一招;更多时候干脆 比划着比划着,他自己就看不懂自己在比划什么了。幸而如此,即使险象环生,雷哥也能很快从防守之势夺回攻击的主动权,以一敌二而不落下风。

Continue reading

多情码农无情码注(1)

一个喜欢读小说的人很容易萌生写小说的想法。自小学拿着钢笔在笔记本上胡写,到大学拍打键盘在另一种笔记本上乱侃,期间我曾萌生过写小说冲动的 次数早已难以计数,然而真正动笔下的并不多,写完的几乎没有,而写完了如今自己觉得还能看的则是完全没有。那些故纸堆里的故事大约全是历史或者武侠,而最 近写小说的冲动再度出现以后,却忽然想写一点新鲜的东西。我构思过一个发生在交大的武侠故事,想到过一个关于程序员和2012的科幻故事,但是毕竟少经历 练,下笔总觉得生涩,结果也远无法使自己满意;直到后来忽然想到一个新方法,即借助古龙的小说《多情剑客无情剑》(即“小李飞刀”的故事)。

《多情码农无情码》借用了古龙的小说《多情剑客无情剑》里的人物,在一定程度上参考了他们的性格,但却把他们安插在了一个完全不同的时代——“飞刀 与快剑”变成了“鼠标与键盘”。然而,《多情码农无情码》的故事发生在《多情剑客无情剑》以前——这么说可能会让人困扰,因为明显古龙的故事里计算机还没 有被发明,不过我指的是关于李寻欢、林诗音、龙啸云三个人的情感纠葛发生在古龙的故事以前。选择这个故事是因为一方面它既是古龙讲述过的一个故事,同时又 没有讲得太细,这就意味着它给了我一个故事的框架,同时还留给我许多自由发挥的余地。

写这部小说显然无意出书之类的事情,可能更多的是个人兴趣,也希望能对自己还很拙劣的写作水平(虽然得过不少夸奖,但幸好我有时候很能找回一些自知之明)进行一些探索和锻炼。而这篇注,不妨说是让自娱自乐的high更high一点。

第一章注

这一章的第一段我试图给整个小说奠定一个世界观的基调——用理工科的思维来讲述一个故事。所以采用了维度这样一种世界观来起头。李寻欢、林诗音和林啸云都是程序员——或多或少,我希望在我在描写不同的人物视角时能写出不同的感觉。

第三段花了那么长的句子描述李家庄园里的各种高科技设备也是为了交待时代背景。

虞世南的介绍可以参看这里。我之所以在这篇注里也不怎么介绍他是因为其实我也不了解他,他是我写这一段的时候从书法家中胡乱揪出来的一个。

男性在看到美女后智商会下降的研究不是我编出来的,我原本阅读的那篇文章一时找不到了,但是这里有一篇似乎差不多文章可供参考。

对林诗音的描写花费了很大的篇幅,因为我想要营造出一种龙啸云在见到林诗音以后时间几乎停滞的感觉,就好像电影中在看到一个美女后镜头忽然放慢了一 样。因为如他所说他似乎所有的脑细胞都用来捕捉她的每一个动作每一个细节了。描写林诗音的几个简单动作的篇幅大约相当于前文的篇幅,这一安排其实照应了文 章最开头的龙啸云自己人生的轨迹(前二十多年可以一笔带过,此时此刻忽然具有其意义)。当然这些是我试图取得的效果,如果读者是通过阅读这一段产生的这种 体会(或者阅读完这一段还没产生这种体会),那么显然我并没有成功。另外对于林诗音的描写其实大量抄袭了曹植的《洛神赋》和曹雪芹的《警幻仙子赋》。

JavaScript不止可以用于写网页的一个典型例子便是GNOME3,这款自由软件的很多代码都是使用JavaScript写就的。你可以在这里查看详情。

Continue reading

多情码农无情码(2)

(本故事纯属虚构,如有雷同纯属巧合)

第三章 龙啸云

寒冷是个可疑的朋友。刚刚和寻欢一起踏出他的庄园,走在夕阳下的一片草丛上时,我还暗自庆幸寒冷为我带来了些清醒。但是很快,冷风如刀,一刀又一刀 划在我迎风的脸上,一刀又一刀地夺回了它曾为我带来的那些理智。我不得不把全身一半的精力放在走路上,然后拿另一半来忘却刀锋划过面颊的痛苦。

“今天这样的温度,恐怕空气都要凝固了吧。”当我提出要上山拜谒寻欢的父亲与大哥的坟墓的时候,寻欢这样评论。他还开玩笑地说:“这样的天气上山, 我想我可以想象我的老爸和大哥在奈何桥头看见我们俩的情形。‘寻欢,你怎么也死了?还是冻死的?难道是2012吗?’‘哦,不,老爸,大哥,我只是来看望 下你们。来,我给你们介绍下,旁边这位是我的结拜大哥。’”

但无论他怎么说,我还是坚持要在这一天前去拜谒。在我看来,寒冷的朔风与颠簸的山路更能帮助我表达心中的敬意。当然,坐在沙发上、端着热咖啡、听着 古典音乐谈受苦是一回事,屁股离开沙发走向寒冷的国度却是另一回事。此时的我正一边走着一边在内心里咒骂着当初的我为什么要这样自讨苦吃,但无论如何我可 不愿意现在告诉李寻欢:“天气真的好冷啊,我们还是改天吧。”

幸好寻欢终于停了下来,而我也不禁感激上帝,至少他给这条道路都安排了一个终点。我还以为他会火上浇油地送给我一个栈溢出或者死循环。不过话说回来这时候的我还真希望能有人冲我来个真的“火上浇油”。

“我们到了。”寻欢的宣判把我从迷乱的意识里拉回。“一门七进士,父子三探花”,这样一副对联贴在墓园的门口,似乎在向世界宣告,也许上帝可以夺走 他们的生命,却别想夺走他们的骄傲。每个坟墓的样式还能怎样,一抔土,一方碑,大致无二,但站在这片墓园中,你不可能不从心里生出一种敬意来,尽管那些人 只能躺着,而你却可以站着。

但是显然我这位兄弟对这一景观的理解大不相同。“我早就想把门口的对联给换掉了。什么‘一门七进士,父子三探花’,贴在这里就好像我们李家已经灭绝了似的。可惜我老爸是从来听不进别人的意见的。”寻欢这样评价。

“我大哥死后,老爸总是半夜跑到这座山上来喝酒。”李寻欢带着我走到他父亲的坟墓旁。我在墓前深深地鞠了几躬,趁机活动了下几乎冻僵的身子骨。而李 寻欢则一边直直地看着与墓碑毫不着边的远方,一边这样对我说,“这件事是诗音发现的,她告诉我,然后我就到山上去找他。他不肯走,也不肯说话,我就陪他喝 闷酒。我还记得那天喝的是先帝御赐的特贡茅台,老爸他珍藏了多年的,却在那一晚上被我们两人喝了个精光。喝到最后一杯,他终于对我说:‘你知道吗?人生最 痛苦的事情便是,即使你做出了每一个可能做出的正确选择,你也无法留住他的生命。’”

“‘他’就是你的哥哥,‘大李探花’,是吗?”我直起身子,有些艰难地转头看向李寻欢。

“没错。他也是我们家的第一位黑客。是他从如何打开电脑开始教我,教我C++,教我Python,教给了我几乎一切如今我引以为傲的东西。在十岁以前,我就已经拿到了三个国家级的程序设计大赛的一等奖。”说到这里,寻欢忽然低下头来,“而他却拿到了三张病危通知书。”

寻欢的哥哥“大李探花”自小体弱多病,后来英年早逝,这是让江湖中无数黑客都为之扼腕叹息的事情;更悲伤的是,没过多久,他和寻欢的父亲‘老李探 花’也因为伤心过度而去世。如今这一曾在江湖中如神话般存在的家族,只剩下一人,便是我身边的这位结义兄弟李寻欢——他也是黑客界中公认的李家最牛的一 人,在百晓生搜索引擎制作的黑客谱里排行第三名。谁会不把拥有这样一个兄弟当作一件荣幸的事情呢?于是我拍了拍他的肩膀,他也对我一笑,然后我们又一起乘 着寒风原路返回。

幸运的是返回的时候风向没有恶作剧般地发生变化,所以我终于可以轻松地看着李家的庄园在我的视网膜上渐渐变大。由于不再需要把一半的精力花在脸上, 我终于恢复了一些意识。我开始意识到早些时候我在李家的失态。哦,不,李家那些让geek们感到无比兴奋的近乎科幻世界的场景虽然让我有些恍入隔世的感 觉,却还不至于让我变得像进了大观园的刘姥姥;而是在看到她的时候——对了,寻欢叫她“诗音”,她的名字一定就是门上镌刻的那三个楷体小字“林诗音”—— 我竟变得像宋玉笔下的登徒子。

不,不能这样,我是李寻欢的大哥,也是在江湖中颇有名望的黑客,我可不是没见过女人的工科猥琐男。就这么看上一眼我竟然就呆掉了,我竟然就相信自己 爱上她了,天哪,我是有多么的愚蠢呢!而这个女人——林诗音,多么优雅的名字——一直住在李家的庄园里,更毋庸说她和寻欢有什么样的关系了,我又怎么可以 去有什么非分之想呢?想到这里,我觉得我已经清醒了过来。我觉得我应该为自己的理智感到骄傲。

但这些都是我们回到李家庄园,那个轻盈的身影再度闯入我的视野以前的事情。不到一秒钟的时间内,我忘记了我之前所持有的一切推理,它们在她的美丽面前根本不堪一击。不到一秒钟的时间内,我所有的理智再度臣服于她的石榴裙下。

Continue reading

多情码农无情码(1)

(本故事纯属虚构,如有雷同纯属巧合)

第一章 龙啸云

有人说,时间是这个世界的第四维。如果按照这个说法来看,时间只是一样永恒不变的事物,而我们在其中一个个流逝。我知道我前半生的二十多年岁月,就像是一场无目的的驾驶旅程;直到那一天。

因为在那一天,我看到了她。

那天是在李寻欢的庄园里,我和他一起踏过用电子墨水显示着欢迎和指引信息的珍珠屏幕铺成的地面,穿过一面又一面闪烁着或奇幻、或写实、或抽象、或黑 客风格的壁纸的玻璃墙壁,走过一个使用全息投影技术把全球各地的卫星发来的实时信息拼接在一起显示出来的地球仪。我以一个码农的身份感叹着这一切的美妙, 直到寻欢带我走进一扇门。

那扇门与其他的用玻璃屏幕做成的门都不大相同,因为上面用手工雕刻着“林诗音”三个楷体小字,字体清秀,婉雅,隐约间似乎能看到一些虞世南的风格。那扇门后面的世界,超越了我以前所经历的所有世界。

但是请原谅我在这里无法描写这个房间内的景色布局。这并不是因为那其中太美或者太丑,让我无法找到言语,而是因为事实上在我第一次进入这间房间的时 候,那些景色我全都没有看到——因为我看到了她。在我看到她的那一刻,似乎我的所有的脑细胞都用来处理、生成,并试图捕捉她的一姿一容了;除此以外的世界 的一切,都被忽略了,或者,即使没被忽略,也只是被用来装点的她的美丽而已。据说有科学研究表明,男性在看到美女后智商会下降,我相信就是这个道理。

所以在进入这个房间的那一刻,我看到的只是她,用一种让人词穷的优雅坐在一台电脑前面。她的手指轻轻地敲打着键盘,翩若惊鸿;她的长发慢慢随风抚过 她的肩膀,宛若游龙。我仿佛从来没有看见过女人一般贪婪地看着她。忽然间她停了下来,世界也仿佛在那一刹那静止了。然后,她的头轻轻划过一个美妙的弧线, 于是一双若月射寒江般清澈的眼睛,和两颊如春梅绽雪般素洁的脸庞出现在了我的眼前,她丹唇微启,霞映澄塘,一段如诗般朦胧的声音激活了我的双耳:“你回来 了。”

似乎李寻欢也回答了什么,但我没有听到,也许我听到了,但它在还没有被记忆的一刻就已经被遗忘了。然后我看见那个曼妙的身影忽然站了起来,她身上穿 着的白色长裙也随之飘舞,和背后的显示着一种月景的玻璃屏幕一起印在我的视网膜上,看来似流风回雪,转瞬间轻云蔽月。望之在侧,皎若太阳升朝霞;忽焉在 前,灼若芙蕖出渌波。我傻傻地站在那里,遗忘了一切表情,她却忽然巧笑倩兮:“我给你前几天写的验证码识别程序做了一个GUI,是用JavaScript 写的哦!”

虽然当时我的智商似乎已经下降为0,但我确信在那一瞬间我至少知道了两件事情:一,原来JavaScript不止可以用来做网页;二,我爱上了面前的这位少女。

Continue reading