沙子也有梦

Posted: 五月 7th, 2012 | Author: | Filed under: 漫忆 | 6 Comments »

【按】两年前,在北京牡丹园的“海底捞”四川火锅餐厅的饭局上,时任博文视点副总经理的周筠老师说,计划做一本《生于七十年代》的书,请一些有代表性的70年代生IT人讲述自己的故事。我也为这本书写了一篇文字,与策划编辑进行过一、两次交流后,就把这事忘了。前天突然想起来,就写信给离开博文视点创办了Just Pub的周老师,问是否有出版计划。周老师答复说会出版,不过同意我先放在博客上,之后再完善。于是我把文章稍微修改了一下,贴在这里。

无梦年代

我是公元1975年生人。那是一个无梦的年代,整个国家笼罩在黎明前的黑暗中。我个人关于文字的记忆,可以追溯至四、五岁上幼儿园中班的时候。说是中班,其实学的是小学一年级课本,我也很喜欢认字,故而我还能大体能读懂街上各种布告。记忆最深者,莫过于一张法院的判决布告,称某某因收听敌台被判处徒刑。那位倒霉的某某,名字上赫然打了个红叉,就像作业本上写错的字,但这错误几乎要了他的命。

我的家乡位于滇东北,是一个曾经繁荣但早已破落的小城。十万上下人口聚在这里,毛货街、蚕豆街、挑水巷,一个个地名折射出人们从事的行业和过着的生活。在“陡街(街道依山而建,路陡,故名之)”的青石板路旁,常有行商摆了地摊,卖些干海星、老鼠药之类稀罕物事。在辕门口(陡街坡顶一片广场,旧时县衙门前)的小小广场上,偶尔也有流浪艺人敲锣耍猴戏。这些所在,常可见一个长相普通、身材瘦弱的小男孩,或蹲或站,不出声地看热闹。其结果之糟糕,至今犹可在保存下来的《小学生手册》上看到记录:该生一个月内迟到20次,望家长批评教育。

嗯,那就是我。沉默寡言,从不调皮捣蛋,几乎每天迟到,“总是要等到睡觉前,才知道功课只做了一点点”。不过历次考试我总能以中等偏上成绩过关,被老师评判为“小聪明”亦不算过分。至今我的小学语文老师(也是当年的班主任)依然记得,有次她叫我当堂朗读前一天布置要写的作文,开头还似模似样,五、六段之后终于现出破绽,手上原来拿的是白纸一张。

这事我也记得,我还记得作文题目是《我的文具盒》。之所以能张口就“读”出一篇不存在的作文,皆因文具盒就在桌面,可以看到什么说什么。亏得那文具盒内容丰富,可以撑他五、六个段落。说是丰富,无非就是两支笔,一堆贴纸,撑不到底确属正常。

小城里小学生的日子大抵如此。简单而令人满足到没有梦想,其实空空如也。在那个大家认识大家的小城,我是一个不甚出色的普通小孩。大人们对我无甚要求,我自己也没有梦想可言。生活很平静。我想我会继续读书然后毕业,工作然后娶妻生子,变老然后死去。一粒平平无奇的沙子,浪花把我推上滩头,再把我拉回海底,就像所有其他沙子一样。

我的计算机梦

然而我足够幸运到可以报考且考中一所外省大学。1993年,我考入广州外国语学院(后与广州外贸学院合并,改为广东外语外贸大学)越南语专业。这是我的第一志愿。我的首选志愿原是北外的僧伽罗语专业,可惜当年北外不在云南招生。报考冷门专业的初衷有二:其一,物以稀为贵,毕业后较有就业把握;其二,冷门意味着学习资料稀缺,我若想继续学英语或其他,资料好找,而要找冷门专业的资料就困难了。

在大学,我开始学习计算机和软件编程技术。不过关于技术的梦却是从小学时代肇端。有次当地群艺馆(群众文化艺术馆,多老的名字……)搞计算机展览,好友拉我一起去看。那是四、五台长得像电视、黑屏绿字的物事,只见工作人员接上一台录音机,放进录音带,这边在键盘上戳了几下,那边按下放音键,一会儿功夫,屏幕上出现了一副跷跷板和两个小人,操纵键盘,跷跷板就左右移动,小人交替弹上又落下、不亦乐乎。奇哉!妙也!

工作人员告诉我,那是用BASIC语言写的程序。次日我就到书店买了一本日本人写的BASIC语言入门。书很薄,几十页的样子。当时,买计算机对于我们家是无法负担的支出。我把书藏在书柜顶,不愿给父母看到,只在家中无人时取下捧读。没有上机条件,我只能在脑海中运行那些10、20、30,然后想象输入RUN之后回车的情形。而那以后很久,我也没机会再近距离接触计算机。

1996年,学校开设计算机学习班。我报了名。课程无非就是DOS、CCED和WPS,其中我最有兴趣的是DOS,这种即时得到反馈的命令模式,能给人极大的操控满足。学校机房严格控制,我跑到广州图书馆办了个上机证,每到周末就泡在机房。一开始,由于证件等级太低,只能用黑白机。后来以一年350元的代价,升级到高级会员,得以使用配置386芯片的彩色计算机。那神奇的玩意,居然还能读光碟!更神奇的是,它运行Winodws 3.1中文版,但不提供鼠标!在这台无鼠标的Windows计算机上,我了解并爱上了快捷键。

很快我就无法满足于只能在周末摸到键盘。一台TI 486/80芯片、4M内存、100M硬盘、14吋隔行扫描VGA显示器再加上Sony 4倍速光驱的入门级计算机,花费4000元,是我自己生活费用及向同学、朋友举债而来的总和。购机归来,手上只剩下够一个礼拜的饭票。我用这台机器做的第一件事,就是制作了一份小广告,拜托相熟的老师打印出来,贴到饭堂对面的公告栏。内容很简单:电脑学习班,一对一教学,打字、WORD,学费150元,学会为止。当天我就有了第一个学生。

为了挣钱,我还和同学一起骑单车跨过珠江,去江南大道的电器城成批购进打口CD,到学校饭堂门口摆摊零售。一张CD 2元或2..5元进价,售价7元。后来我的“商业”经历还包括和日语班同学一起,到惠福西路的电器集散地购入二手日本文字处理机到学校转售,这种生意的利润率较高(一台总有100元以上差价),缺点是成本也高很多。

计算机买回来,和现在多数学生一样,一开始只起到游戏机的作用(想看碟的话,还要另配硬解压卡)。那个时代的资深游戏玩家,在把游戏成功玩起来的过程中,或多或少地学习了一点编程思想:在全部内存只有4兆的情况下,要想玩一些所谓“大型游戏”(如C&C、魔兽争霸),就得想办法把常驻内存的程序都搞到高端内存里面,尽可能把640K的基本内存腾出来运行游戏,这需要通过调整开机自动批处理文件(autoexec.bat)来实现。自动批处理文件还能干更多奇妙的事,比如开机出现菜单,可以选择启动英文DOS、中文DOS、CCED、WPS甚至Windows 3.1;也可以在不想让人偷用计算机时,做点手脚。这东西搞熟了,你自然明白指令、循环、条件判断、输入输出、管道(pipe)等等概念,甚至运用自如。

但自动批处理能做到的毕竟有限。当时流行的数据库编程工具是dBase,很快转到FoxBASE和Windows平台上的FoxPro。前两者是学校学习班的科目,FoxPro用户界面更友善,是我自学的。

1997年寒假,我得到一个在家乡社会保险事业局打临工的机会,工作内容是抄写参保人员卡片。那时,所有这些档案都是手工操作,每年都需要重新计算一次每位参保人员的账户余额,并手工抄写到卡片上。社保局正式员工不过五、六人,坐一间办公室,而我们这些抄卡片的临工也有四五人,占据另一间办公室。早晨8点到单位,第一件事是在取暖回风炉的炭灰中埋上几个土豆,轮流去外面买了早餐回来,就茶水吃了,才动笔抄写。抄来抄去,社保个人账户管理的整套业务流程,心中大体有个轮廓,且感受到人工操作低下的效率和较高的错漏率。

暑假再回家,我向局长提议用计算机来替代人工。局长很感兴趣,去昆明买了IBM原装计算机,还在单位旁边宾馆包一间房,让我可以专心开发。想来那时真是初生牛犊不怕虎,我花1个半月时间,边学边写,用FoxPro 2.6为社保局做了一套Windows版的“社会保险个人账户管理系统”。个人账户余额牵涉到复利、存入、取出等计算,一开始大家都心有疑虑,随机抽出多位参保人的账户,用这套系统和财务人员手工分别计算,在其中一、两个账户上出现结果差异。我反复检查程序算法认为无误,多次复核后发现是手工计算出错。这个小插曲让大家完全信赖了计算机系统,后来这套系统颇用了一些年头。可叹的是因为系统具备打印功能,再也不需要手工抄档案,我的临工同事们失业了。这也让我第一次意识到计算机技术带来什么:一方面是工作效率得到极高的提升,另一方面是不适应新技术的人群将面临“结构性失业”。无论如何,技术改变世界是不可逆转的潮流。

刚买回计算机的时候,我也曾节衣缩食,买了许多软件光盘。单张22元的价格,现在想起来都觉得肉疼。其中有一张,封套上印着希腊神庙和女神雕像的图样。当时在玩《沙丘魔堡(Dune)V》,没太多注意,导致我与Delphi的第一次亲密接触擦肩而过。1998年暑假,在中学同学家看到一本《Delphi 3从入门到精通》,细读之下,不由为之折服,随即堕入Delphi情网。(补充一句:该图书英文名Mastering Delphi 3,乃是Marco Cantu的名作,但中文书名实在不太像样。)

1998年我毕业留校,计算机水平比周遭同事略高,就在学院多媒体教研室顶个“副主任”的头衔。学校搞多媒体和网络教学,我也用Delphi做了一些项目。我所在的东方语言文化学院,当时有日语、印尼语、泰语、越南语四个专业,除印尼语外,其他三门语言都有自己的非拉丁语编码文字。做泰语、越南语专业共用的教学平台,必然涉及到不同语言文字的显示问题。当时Delphi对Unicode的支持还不行,为了解决Unicode问题,我深入研究了VCL源代码,并做了一些Unicode方面的扩展,实现了不同语言字符的同屏输入和显示。对于真正的Delphi高手,这也许不算难事。但我身处文科院校,周围也无同好,只能独自闷头探索,每攻克一个难题,总会欣喜若狂。

Delphi提供了极为优秀的IDE和组件框架(VCL——Visual Component Library),而Object Pascal也是优雅和高效的语言。Delphi把我带入面向对象编程的大门,让我对软件世界有了全新的认识。那几年,台湾李维先生的数本Delphi商业开发著作刚出简体版,我均一一购回,略略学习商业应用的架构与开发手法。这些架构与手法的知识,也有部分应用到学校的项目上面。

2003年,我辞去教职,加入北京百联美达美数码科技有限公司(即CSDN.net和《程序员》杂志的运营商,后改称世纪乐知网络技术有限公司),负责网站工作。CSDN.net网站原本是用ASP开发,主要包括论坛、新闻和文档库三个部分。当时网站正处于快速发展的时期,基于ASP的旧程序已不能满足需求。我们选择了继承性较高的ASP.NET技术来做换代开发。CMS系统、广告系统、论坛系统、blog系统、评论系统、知识库……网站的功能越来越多,各业务功能也逐渐拆分为独立的应用,互相之间以服务接口调用。我的网站技术和运营经验,绝大部分是源自这个时期积累的经验与教训。

时至今日,虽然我更倾向于选择PHP+MySQL的网站开发技术,却仍不同意一些朋友对.NET的全面批评。.NET框架天生受到Windows操作系统限制,本身也有不足,但Anders Hejlsberg等一干牛人的功力仍不容小觑。它汇集了多个平台的经验和一群天才的智慧,而且在不断成长。其实任何平台、框架或技术,均各据擅场,亦各有其优缺点。用其所长、避其所短,自能得其所哉。

如今我在一家看似更“传统”其实更“前锋”的媒体任职,在将过往经验带到现任岗位的同时,也开始接触智能手持移动设备的技术平台。Android、iPhone OS等等操作系统及它们提供的开发框架,成为我时时关注的技术话题。

在一次研讨会上,高焕堂先生问我:现在还有做开发吗?我答:作为兴趣和工作需要,还是会做一些编程,但已不是主要工作。作为CTO,更多的工作内容在于理解媒体业务、理解公司发展策略,并将其消化、分解为可执行的技术框架与任务,领导公司内外技术力量实现之。

技术改变世界,这话说得好。不过,我们每天在做的每一件事,何尝不对世界产生积极或消极的影响呢?从另外一个角度看,这个世界、对这个世界的看法,无疑也在影响我们在开发方面的观点与做法。十多年以来,计算机技术带给我无穷的乐趣,以及从另外一种视角看世界的可能性。关于技术的梦,我会继续做下去。

我的传播梦

小时我有轻微自闭的症状。我患有绊舌的毛病,妨碍发音,读小学时做手术剪去舌底一根筋膜,心理上仍有阴影。沉浸于自我世界,羞于与他人接触,在亲友间落下个“书呆子”的昵称。我亦不以为意,读书自娱,躲进小楼成一统。自信地说话,于我而言,是遥遥不可及的东西。

对语言的恐惧延续到初中二年级。会考在即,我连二十六个英文字母都默写不全,开口更是计无所出。灰心之余,日日逃课在家看电视,偶然见一满口台湾国语音的胖子在电视台开讲座卖他的英文教材。此人名为扶忠汉,卖的是所谓《双向式英语》。扶氏称:英语可以速成,只要按教材所示,一听二读三对话,大成之期不远矣。这类诳语,如今大约要被列入骗子一流的,当时对我却无异于及时雨。托父辈从省城带回教材和磁带,两个月下来,居然在班上考得前列。不是这套教材有奇效,实则扶氏一番说话,给了我信心和对英语的兴趣。有信心又有兴趣,自然发奋。暑假期间,我手抄了张道真著语法书,又不放过眼睛所见任何一个英文单词。这么搞上几个月,就我国初中(乃至高中)英文教材那点货,还不够吃的呢。

这事给了我自信。不但有了学习的自信,也有了表达的自信,不过仅限于书面表达。及至高中,英语都是我的优势科目。对语言的喜好从那时滋生蔓延,语文课的作文部分,成为我最喜欢的上课环节,因为我的作业往往能被老师当作范文赞扬。

但我在高中二年级时遇到一个“大”挫折。学校组织英语演讲比赛,我在选手之列。许是受名人传记毒害太深,我认为背稿不是演讲,非得领会意旨再加以临场发挥,最好辅以若干有力挥手,方是演说家风度。遂刻意不背诵稿件,只大略领会。孰料上得台去,看到下面百多号人,登时腿肚子发软,脑中一片空白。别说发挥,就连那一点点提纲都抛到马六甲去了。这场“演讲”不知道怎么结束的,惶惶然逃出门外,戚戚然奔回家中,数日不能言。原来对着许多人说话是这么难。

说来也怪,受此打击,我反而立志要学会面对许多人说话。不但要面对许多人说话,而且要让这许多人接受我说的话。这之后的努力不必烦叙,概言之不外朗读与练习。到大学入学时,我已有足够的胆量,面对全系同学发表我的竞选学生干部宣言。

“要面对许多人说话”,慢慢成为一个目标、一个终生追求的关于传播的梦想。大学毕业后,我选择留校任教,正是为了向学生们传播我掌握的专业知识。

2001年,和技术圈朋友聊天,都认为当时Delphi程序员严重缺少可供学习和参考的中文资料,有价值的资料多数是英文,且散见于许多国外网站。我萌生了做个中文Delphi资料网站的想法,就找了两位朋友一起,很快搭建起CoDelphi.com。我找了一些大学生帮忙翻译国外英文网站上的技术文章,介绍给中国开发者。很快网站就有了几万名忠实用户,也在Delphi开发者当中有了一点影响力,2002年还在广州举办了一场近百人规模的技术交流活动。美国Borland公司甚至为此颁了一个“Delphi产品专家”的奖项给我。

2001年晚些时候,CSDN创始人蒋涛先生在网上找到我,说想在《程序员大本营》光盘中放一些我们网站上的技术文章。这次很顺利,和蒋总的交流也很愉快,愉快到次年冬天我就应他的邀请飞赴北京、探讨深度合作的可能性。2003年7月,在即将成为博文视点副总经理的周筠老师的撮合下,我又在武汉和蒋总会面。这次会面后,很快我就辞去教职,加入CSDN。

在CSDN工作的六年时间,我学到了很多东西。除了技术的部分,还有垂直门户和专业社区的管理与传播手法。与数百万专业技术人员通过杂志和网站做交流,是件相当愉快和有成就感的工作,而为这个群体搭建相互沟通的平台,在我的传播梦想当中,无疑占据了相当重要的部分。期间作、译几本书,也无疑得益于此。

我永远会记得2005年公司从静安中心搬到兆维工业园那天午夜,坚守至最后一车办公家具运走,到楼下7/11便利店买一罐热红茶,双手捧着,在雪地里深一脚浅一脚走回家的情景。那段年月里面,我不断地犯错误,幸好有蒋总这样宽厚而又睿智的兄长,容忍了我的幼稚与笨拙,让我可以我见证CSDN从三、五十号人发展到百人规模,开拓出杂志、网站之外的业务领域,营收从百万级别达到千万级别的历程。

还记得2007年我和蒋总去硅谷参观SD West大会,为其规模、质量所震撼,回来立即筹办中国开发者大会的事。传播应该是跨媒介的。无论纸质媒介、电子媒介或是线下媒介,只要是有利于优质内容或互动行为更低廉、高效、广泛地展开,就是好媒介。CSDN此后开展的一系列线下技术大会和其他交流活动,开启了中国技术界大规模技术交流活动的帷幕。躬逢其盛,幸莫大焉。

2009年,因为照顾家庭的关系,我离开CSDN,回到广州。离不开的是关于传播的梦想,我加入了21世纪报系,任新媒体事业部CTO。21世纪报系是国内财经媒体界的老大,旗下《二十一世纪经济报道》等数份报刊影响力极大。最为可贵的是,报系对平媒面临的危机有较清醒的认识,并已开始在新媒体方面做探索。2008年,发布专业财经资讯网站21cbh.com。后来又发布各个智能移动终端上的应用产品,以及探索基于新媒介的各种经营方式。如今我们又踏上新征程,组织华南TMT俱乐部、开展线上线下活动、研发新的产品,为21世纪传媒集团探索未来的新增长点。躬逢其盛,亦幸莫大焉。

这些年在媒介和传播方面的工作,也带给我技术观之外的世界观。我是个跨界人,语言、计算机软件技术和传媒都有涉猎,结果就是我常常会用语言观看软件与传媒、用软件观看语言与传媒、用传媒观看语言与软件。当站到不同立场、以不同角度看手上工作和整个世界,就会有超乎寻常的想法产生出来。

梦想在继续

今年我满37岁。我不是什么成功人士。我自食其力,并在工作中找到乐趣与成就感。我是一粒有梦想的沙子,时代大潮呼啸而来,我逐浪而居、推波助澜。沙滩上,还有许许多多沙子,许许多多有梦想的沙子。沙子们的梦想构筑了这个世界。梦想在继续,梦想永存,梦想万岁。