
刘啸
新地挨踢集团的总裁新新地被愤怒的玩家绑票了!
就像互联网进入中国十几年后被光荣命名为“因特网”一样,信息技术行业也在本土化几年后被信息产业部与工信部联合命名为“挨踢”业。“挨踢”两字虽然从字面上看不是特别吉祥,但对新地公司来说却是幸运草。新地挨踢挨了几年,业务迅速发展,各个领域都有涉及,上至银行证券政府采购,下至游戏装机网络删帖,新地公司居然混得如鱼得水,银行账户上的数字直线上升,末了还上市狠狠圈了一笔钱,直把煤老板出身的总裁新新地乐得合不拢嘴。
像所有的暴发户赚钱后急于争名的心态一样,新新地腰包鼓了后也立志要开创并引领一个挨踢业中的新领域。经过多轮游山玩水式的调研,新新地最终将公司的新业务定在便携游戏机这个领域,随即紧锣密鼓地大肆开展起研发与市场工作来:硬件方面找了个知名山寨厂家,仿照日本流行系列游戏机开了个模,配置参数都“借鉴”人家的,一两个月就拿出了硬件样品;软件方面,新新地自己招聘了几个人编写游戏软件,为了配合样品的生产规划以及达到尽早上市圈钱的目的,新新地严令三个月要完成游戏软件的开发。可怜这几个人先是被新新地拿民族产业先驱等概念慷慨激昂地动员了一阵,接着又拿日后上市分红原始股等利益狠狠引诱了一把,然后就开始了为期三个月的军事化管理。与此同时,新新地也提前开始了市场宣传,铺天盖地的网页广告电视购物、公交车身街头传单等多种传媒形式都让新地集团这款即将划时代横空出世的新款产品给占领了。新新地在广告上砸下几个亿后,终于成功地让劳苦大众达到了一听到“新地游戏机”五个字就想骂人的高度,然而新新地仍不满意,继续砸钱轰炸传媒。三个月后,广大人民升级到了一个新的高度,一想骂人就会用上“新地游戏机”五个字,新新地这才满意地停下烧钱的活,同时把眼球转回软件部门。
“你看看,现在都在等着你们的软件!要加快进度,尽快拿出一个好点的版本!”
这几个月里,新新地不止一次冲软件部门的主代码佬赵三这样催促。
代码佬是程序员的俗称,主代码佬则意味着上班比别人早下班比别人晚。做“新地游戏机”主代码佬的赵三虽然水平不低也愿意吃苦,但自从接下这个活后却是有苦说不出。由于新地游戏机是公司战略性的业务,管理层上上下下五六个董事、十几个经理、七八十个副经理、两百多个部门经理三天两头跟软件部门打招呼,一会对游戏有要求,一会对按键有要求,一会还要有重力感应等功能。更有甚者直接跑到办公室里看界面挑毛病。动辄上升到不注重用户体验就是不尊重上帝的宗教高度,或者上升到设计要简单灵活代码就是美的哲学高度,目的不外乎是想在这款产品成功后为自己争得一席之地。总之这批抢着为“新地游戏机”积极做“贡献”的几百号人将几个软件开发人员折腾得筋疲力尽,每天上班都是大黑眼圈套着小黑眼圈。
经过三个月没日没夜的加班,产品发布前夕,赵三他们居然跌跌撞撞地拿出了一个勉强能跑起来的游戏软件。新新地大喜过望,当即大规模量产售卖。由于之前传媒已经将“新地游戏机”包装成一个划时代的、老少咸宜的、顺便肩负击败外来资本、振兴民族产业重任的拳头产品,短短的几天便卖出上万台,乐得新新地又一次合不拢嘴。然而,随之而来的是,爱国民众似乎对此产品不是特别满意,反应速度慢、游戏种类少、常常死机、甚至还冒烟等。网络上也逐渐流传起“新地游戏机”的负面言论来,对此新地公司轻车熟路地开始花钱删帖并清理搜索引擎,并且以两帖一块钱的高价雇了一批人专门发帖回帖吹捧“新地游戏机”产品,这样至少看起来“新地游戏机”在媒体和网络上表现出的还是启迪智慧、增进身体发育、减缓衰老等优质功能。然而,许多购买了“新地游戏机”的买家开始觉得这个卖两三千块的东西实在是名不副实,购买者的情绪越来越不稳定,网上宣泄又没有口子,这种像便秘一样堵得慌的情绪终于波动到真实的世界。
这天早上,新地公司总部被一群有预谋的愤怒买家与玩家包围了,他们拉起了横幅,抗议游戏机质量不过关,要求新地公司给予正面回应。而那日正好是新新地准备召开“新地游戏机”进军海外市场发布会的日子,新新地近视眼没看清门外横幅上的字,还以为热情的记者们提前到达准备抢第一手新闻稿,于是下车走上前去热情招呼。一边发名片一边自我介绍,还习惯性地摆姿势让拍照。买家里有不少认识新新地的,当时大概被他发名片所表现出的勇气给震撼住了,半晌才醒过神来,陆续大喊“就是他”,于是,就出现了文中开头提到的绑票案。
其实“绑票”只是新地公司事后要求媒体统一口径的说法,当时热情的买家与玩家并没有想绑架新新地来换取赎金或退货,顶多是一小撮别有用心的玩家企图揍他一顿出出气。不过,有几个经验丰富的玩家却提出了一个意想不到的要求:让新地公司立即修复游戏软件的Bug并给他们升级。虽然其他玩家不太懂这个要求的具体含义,但经过解释明白了是让他们玩游戏更爽之后便举双手赞成。买家们达成统一战线后,书面向新地公司递交了要求。不巧的是这时候来了批城管,一见人扎堆就本能地挥舞棍子一阵驱赶,买家们只好带着新新地退守到了隔壁工地的二层小楼里,等待着新地公司的新版本游戏软件。
代码佬赵三通宵加班后上午正在补觉,刚睡着便被新新地的弟弟、新地公司副总裁新小地的电话吵醒了。电话里只有一句怒喝:“马上赶回公司改Bug!”
也亏得赵三生有一副逆来顺受的好脾气,连怨言都没有发,便急匆匆赶到公司。听见同事们的议论,才知道是怎么回事,赶紧坐下开工。本来赵三的开发水平与质量意识还不错,虽然理论上说有人的地方就有江湖,有代码的地方就有Bug,但赵三自己在开发过程中还是尽最大的努力既保证进度又不出错误,只是在疲劳与高压下,完全做到这点太难。
时间一分一秒过去,赵三一边噼里啪啦敲键盘一边昏昏欲睡,嘴里不自觉念道:“不要死机,不要断网,不要出Bug……”他脑袋里一片糊涂,全靠手指习惯性地敲出一串串代码。午饭是没空吃了,赵三饿着肚子,在下班前凑合着编译出了一份新软件。公关部的人马上将其刻成光盘送到对面的二层小楼里,守候在那儿的买家立即开始替大家手头的游戏机挨个刷上了新版的软件,然后眼巴巴地等着游戏机重新启动,打算第一时间体验一下新的感觉。
然而不幸的事还是发生了。新版软件虽然比旧版好一些,但在玩家们锲而不舍的折腾下,仍然冒出了一个非法操作的异常。那个不幸的玩家被这个异常弹出的英文对话框吓得当场晕倒,其他玩家顿时感到又被新地公司耍了,于是群情激愤,局面开始失控,一小撮别有用心企图揍新新地一顿的玩家也马上升级到了一大撮。看见一大撮人踢开门挥舞拳头朝自己冲来,缩在二层房间角落里的新新地顿时面如土色,虽然他脑瓜子转得快,马上大喊:“这不是Bug,这是功能需求①!”但喊声被淹没在肢体摩擦声中,没人知道他说了些什么。
本来,事情演变到这一步也不过就是个群殴事件,只要新新地平安无事,事后和有关部门联合出来辟谣并清理掉网上的言论,就太平无事了,偏偏老天不让这事变得没事——工地的二层小楼是承包方盖给农民工住的短期宿舍,搭的全是劣质水泥预制板,仅有的一两条混凝土梁里塞的也是竹签不是钢筋,这种节省成本和时间的小楼在没透露出细节之前本来是作为建筑界的优秀典型拿去宣传的,现在却承受不住热情玩家的压力,可耻地塌了。而且,小楼塌时新新地正被三四个粗壮的玩家按在地上殴打,一摔下来,新新地被上面的群众“落实”到了基层,被五百来斤的东西一压,当即骨折吐血不省人事。打120急救,下班高峰期堵车,等到七点多救护车抵达时,新新地已一命呜呼。
之后的事情有些难以收拾,只能按部就班地来。法律方面,公安局抓了几个领头的,检察院以故意伤害罪提起了诉讼,都判了十几年。市场方面,新地的股票因为新新地的突然去世而大跌了两个跌停板,按公司持股比例计算,损失超过两千万元。新接手公司的新小地一上任便平白无故损失了这么一大笔钱,心里很是不痛快,严令追查问责到底。一查下来,直接导致新新地意外去世的是玩家的殴打行为,玩家殴打行为的起因是新版软件的Bug,直接导致新版软件的Bug的是——代码佬赵三。
“你说怎么办?我们损失了两千多万,这笔巨大的损失,你必须负责!”新小地在赵三前咆哮。
“我……我赔。”
“两千万!你赔得起吗?”
“那,您说……”
新小地也慢慢从冲动里平静下来,“两千万,这样吧,打个折,先赔八千五,从你工资里扣。”
赵三稀里糊涂被扣了一个半月的工资,不得不借钱度日,心里难免憋着口气。然而命苦不能怪政府,点背不能怨社会,老板永远是对的。赵三想来想去,竟然不知该如何看待这件事。胡思乱想了一阵没结果,他的思绪便又回到了引发事故的那个Bug上。跑回办公室查了一下代码,赵三不由懊恼万分:这几行出错的代码正是那天赶工赶得脑袋晕晕沉沉时机械地敲出来的,属于开小差的产物,像乐曲中混入的噪音一样不协调,并且很碰巧的是和上下文有点关系没被编译器优化掉,从而通过了编译。赵三知道,这种通过编译但本身有着大问题的代码就相当于定时炸弹,而这颗潜藏很深的定时炸弹那天刚被发布给玩家不到一小时就“爆炸”了,结果间接炸死了老板新新地。想到这一点,赵三心里愈发憋屈。
如果是其他天才人物如冯·诺依曼或图灵等,碰到这个问题或许会从指令执行原理或人工智能方面来思考,最终有可能创造出新的计算机架构。退一步讲,如果换成是Anders
Hejlsberg②或Dennis
Ritchie③遇到这个问题,或许会从优化编译器的识别模式着手,有可能创造出一门语法与语义更加严格的编程语言。但此时碰到这个问题的是憋了一肚子气找不到出口的赵三,他认定,造成他现在灰头土脸悲惨万分的罪魁祸首就是编译器!
痛定思痛后,像其他许多遭受不公正待遇但又性格内向无法宣泄的穷程序员一样,赵三决定写一个病毒向编译器宣战。之后的一年里,赵三详细研究了各种编译器与病毒传播的技术细节,并下了很大的工夫确定了病毒的基本传播与感染机制,研究了一些自我学习的理论后,才开始着手编写病毒代码。
公司里的其他同事对赵三被扣工资一事也很同情,同部门的一哥们小四认为出Bug和他们自己平日里代码质量不合格也有关系,因此对赵三心存愧疚,叫嚷着要把工资分一半给赵三。赵三坚决拒绝但心里很感动,就对小四提到他写病毒对付编译器的事。小四惊讶万分,当即也想加入。赵三一再强调保密后同意了。两人都是高手,业余时间埋头开发,工作时间有时也挪用一下,反正新小地看不懂,也不怕被揭穿。
这样又过了一年多,最后,在成功加上赵三独创的自我学习并自我完善的机制后,病毒终于调试成型了,赵三郑重其事地将其命名为“噪音”,然后传播了出去。
“老子其实早就他妈的烦了。”做完一切后,赵三和小四在街边小摊上喝了许多啤酒,大着舌头哇啦哇啦地发牢骚说,“写代码的,过了四十岁,就,就他妈废物一个。公司不要你,你能,能做啥去?”
“话是这么说,但现在你也没法转行啊。”小四还较为清醒,“混不到管理层的话,四十岁一到,真就死定了。”
“管理?他妈的那也叫管理?”赵三酒劲上来,拍桌子骂道,“提想法的比干活的人多十倍,三四个人冲你一个人发号施令,出了岔子都是你一个人的责任。老子怎么就这么命苦?上次扣了我八千五百块钱,害得老子吃了一个月的馒头榨菜方便面。后来公司股票涨了,咋就没人提给我补回来?”赵三打了个酒嗝,“还有……”
小四苦笑着打断他,“得,三哥你喝多了,回去歇着吧,明天咱还得上班继续码代码呢。”
两人歪歪扭扭地沿着夜色笼罩的街道走回出租屋,单薄的身影在昏黄的路灯下拖得很长,像秋风里被剥光的树枝。
他俩想不到的是,他们刚刚传播出去的编译器病毒,在未来短短的二十几年内,改变了整个人类社会。
互联网是0和1的海洋。一年一年过去,网上的信息量不断地翻番,其势头几乎赶超了摩尔定律。游弋在互联网上的终端也不再局限于个人笔记本、电脑、手机等,而是延伸到了家电游戏机等一切和电力有关的设备。无论是电器还是家用电脑,这些设备上都运行着各自的软件,因此挨踢业中的代码佬这个职业这些年仍旧吃香。
不过“吃香”并不等于精英,正好相反,工程方式的开发工作把码代码变得愈来愈像流水线上的组装,对大多数公司来说写代码并不需要太高深的技术,同样也不会给太多的钱。搭建式的开发环境也逐渐流行起来,组件像积木一样按图纸堆积成大厦,只在积木接缝的地方需要手工写代码对接接口,这样给代码佬的发挥空间也就更小了。同时,搭建式开发的流行,也使得编译技术逐渐集中掌握在几家大公司手里,它们成为了噪音最先攻击的目标。
赵三他们将噪音传播出去后的五年内,互联网上都没有丝毫的动静,小四猜想可能被某个相当超前的杀毒软件给干掉了。不过赵三告诉小四,他设计的传染潜伏机制是以遍及整个互联网为基础的,只有感染达到一定规模,才有可能发作,并且发作的机制不是死机也不是恶作剧,而是在编译器的编译过程中加入干扰,随机生成错误的目标代码。这种不发作的设计思想让杀毒软件无迹可寻,甚至根本不知道噪音的存在。同时,噪音的传染机制只让感染的编译器在生成目标文件的时候在其中随机内嵌传染代码,和常规传播方式不同,一般的杀毒软件也拦截不到。另外一个更加神奇的特性是,噪音感染编译器后,会顺带就近寻找此编译器的源码,如果找到则一并修改掉。当某些厉害的代码佬发现工具链被篡改后打算重新编译一份的时候,得到的仍旧是感染后的编译器,除非他能在网上再下载一份干净的版本。
然而,此时网络上已经没有干净的版本了。(未完)
温馨提示:阅读原文请您订阅杂志!
加载中,请稍候......