出乎意料的是,这里并没有想象中那种南区特有的破败感。相反,这地方的门面弄得相当得体。宽敞平整的柏油停车场被打扫得干干净净,一排排成色不错的福特、雪佛兰等家用车整齐地停放着。气派的玻璃展厅后面,还连着一个面积大得有些夸张的封闭式恒温仓库。
表面上看,这就像是一家资金雄厚、经营良好的正规本地大车行。
但杨坚很清楚,在这种相对偏僻的地段,把硬件设施搞得这么好、且安保摄像头密布的地方,往往就是用来掩护高端灰产的“完美前台”。只有这种地方,停进几辆来路不明的保时捷或奔驰,才不会引起巡警的怀疑;也只有这种地方的技师,才有手艺完成复杂的地下改装。
杨坚双手插在夹克口袋里,穿过外面的露天展车区,慢慢溜达向后面的仓库区域。就在他琢磨着这里的防弹改装手艺到底靠不靠谱时,一个极其熟悉且带着几分轻佻的声音,从一扇半开的仓库卷帘门后传了过来。
“听着,老伙计,这辆保时捷卡宴的底盘号我已经处理过了。你只要把它弄上集装箱运到东欧,我保证连斯图加特总部的工程师都认不出它是从黄金海岸开出来的。”
杨坚眉头微挑,循声走了过去。
宽敞明亮的仓库里,一个穿着剪裁得体的深色风衣、长相英俊且带着几分痞气的年轻白人,正靠在一辆崭新的黑色保时捷SUV旁,跟车行那个穿着高级定制西装的老板抽烟交涉。
正是菲奥娜现在的现任男友,史蒂夫。
“成交。钱打到老账户里。”史蒂夫掐灭了烟头,正准备转身离开,却猛地顿住了脚步。
他看到了正站在仓库门口的杨坚。
“WOW,看看这是谁?”
史蒂夫眼中闪过一丝毫不掩饰的惊讶,随即换上了那副标志性的迷人笑容,大步走了过来,“杨,昨晚咱们才刚在凯文的派对上喝过酒,今天就在这儿碰面了。”
“Hey,史蒂夫。”杨坚神色如常地伸出手,跟他握了握,目光有意无意地瞥了一眼仓库里那辆还没来得及换车牌的保时捷。
“你怎么大老远跑到南郊的车行来了?”
史蒂夫上下打量着杨坚,挑了挑眉毛,语气里带着几分试探,“别告诉我你是来买车的。据我所知,加拉格家附近的邻居们,通常连一辆报废皮卡的油钱都凑不齐,更别提跑这么远,来这种专门做‘高端精品二手车’的地方挑车了。”
他故意把“高端精品”几个字咬得很重,试图来试探杨坚的底细,同时也顺理成章地掩盖了这间仓库的真实用途。
“所以说,人不可貌相。”
杨坚笑了笑,语气平淡,眼神却仿佛早已看穿了一切,“我确实是来买代步车的。不过看样子,我似乎碰巧遇到了一位专业的专家兼朋友。”
“买车?”史蒂夫一听,眼里的防备不仅没有减少,好奇心反而更重了。
作为一个长期游走在灰色地带、习惯了察言观色的人,他看人的眼光向来很准。这段时间他在加拉格家附近转悠,跟杨坚打过不少次照面。他早就觉得,菲奥娜这个亚裔邻居身上,始终透着一股和南区格格不入的从容感。
而现在,对方能轻车熟路地找到这种隐秘的南郊车行,甚至面对满仓库的豪车都毫不露怯,这种直觉终于得到了印证,这家伙绝对不是个普通的南区穷鬼。
他看杨坚的眼神多了一丝认真,双手插在风衣口袋里,挑着眉毛问道:“那你要找什么类型的?拉风的跑车?还是那种能全家出行的宽敞SUV?事先声明,这里的老板可不卖那种几千块钱的便宜货。”
“都不是。”杨坚摇了摇手指,声音不自觉地压低了几分,提出了自己极其明确的需求,“我要一辆外观极其低调、开在街上就像隐形人一样的车。但动力不能弱,遇到麻烦时必须能随时撕开包围圈。”
说到这里,杨坚顿了顿,目光直视着史蒂夫的眼睛:“最关键的是,它的Title(车辆产权证)必须百分之百合法干净,能随时应付条子的临检。同时,这辆车需要做一点私人定制,比如在车门里塞进几张凯夫拉防弹内衬,再换上高强度的防弹玻璃。并且,我不希望在任何州政府的改装备案系统里看到这些记录。”
听到“防弹”两个字,史蒂夫脸上的轻佻笑容瞬间消失了。
他那双原本带着几分玩味的眼睛猛地眯了起来,像雷达一样重新把杨坚从头到脚扫视了一遍。合法的手续、低调的外观、强悍的动力,外加绝密的防弹改装——这绝对不是南区街头混混打群架的配置,这是那种真正在地下世界操盘的大鳄才会提出的硬核需求。
史蒂夫沉默了两秒,突然爆发出一阵低沉的笑声,眼神里闪烁着一种遇到同类的兴奋,“哈哈,看来南区确实困不住你啊,杨。去超市买菜可不需要防弹玻璃。”
他没有多问半句杨坚到底要干什么。在这个圈子里,懂规矩的人永远只谈生意,不问底细。
“不过你今天算是找对人了。在这个世界上,没有人比一个游走在规则边缘的专家,更懂怎么搭配出最完美的隐蔽载具。”
史蒂夫熟络地拍了拍杨坚的肩膀,带着他往仓库最深处的一个角落走去:“听着,在南区开防弹车,简直就是一门心理学。如果你弄一辆防弹的奔驰或者凯雷德停在加拉格家门口,那就等于在车顶上挂着个霓虹灯,写着‘车里有大钱,快来绑架我’。”
“你要的,是一辆能完美融入街头、又能‘扮猪吃老虎’的终极睡眠者(Sleeper)。”
两人穿过几辆用防尘罩盖着的豪车,史蒂夫最终停在了一辆甚至没来得及清洗的深灰色SUV前。这辆车和周围那些光鲜亮丽的高档货比起来,简直就像是个误入舞会的家庭主妇。
“2010款,丰田RAV4。去年刚从一个破产的中产家庭手里‘收’过来的。”
听到这个名字,杨坚微微挑了挑眉毛。这车的外观实在是太中庸、太平庸了。把它停在任何一个超市门口,它都会瞬间隐形在车海里。
“你在逗我?”杨坚似笑非笑地看着史蒂夫,“让我开着这辆家庭买菜车去接送孩子上下学吗?”
“别被它这副无聊的日系买菜车外表骗了。”史蒂夫拍了拍引擎盖,眼中闪过一丝极其专业的狂热,“普通的RAV4确实肉得像头老牛。但这是一台罕见的V6版本!”
史蒂夫凑近了一些,语气里带着推销艺术品般的骄傲:“这平庸的壳子下面,塞着一台3.5升排量的V6自然吸气发动机!整整269匹马力!这头披着羊皮的怪物只要一脚地板油,推背感能把你的灵魂都死死按在座椅上。遇到突发情况,那些开着警用维多利亚皇冠的条子只能在后面吃你的尾气。”
说到这里,史蒂夫得意地笑了起来,指了指这辆车的车门厚度和底盘。
“更关键的是,既然你要做防弹改装,SUV绝对是首选。凯夫拉内衬和防弹玻璃极其沉重,两厢小车的悬挂根本扛不住。而RAV4的车身空间和承载力,刚好能把这些装甲完美地‘吃’进去,从外面看不出一点下沉的破绽。”
“那防盗呢?”杨坚目光深邃地问道。
“这就是它最绝妙的防盗系统——它的平庸!”
史蒂夫冲杨坚挤了挤眼睛,笑容里透着毫不掩饰的狡黠:“在南区,那些街头小混混偷车是为了什么?无非就两种目的。第一种,为了耍帅或者去干一票抢劫,所以他们会去偷马力大、外观拉风的道奇战匣或者克莱斯勒300C。”
说到这,史蒂夫嗤笑了一声,手指敲了敲旁边的车窗:“第二种,就是为了搞钱。他们会去撬本田思域这种烂大街的日本车,因为那玩意儿的锁芯用一把螺丝刀就能捅开,偷回拆解厂大卸八块,底盘件和发动机在黑市上简直就像流通的现金一样好卖!”
史蒂夫摊开双手,拍了拍面前这辆深灰色的SUV:
“但丰田RAV4呢?它完美避开了这两个选项。它既不够酷、开出去火拼会被帮派兄弟笑死;它的零件在黑市上又不像思域那么抢手。在这个只认钞票和面子的南区,绝对没有哪个白痴会费时费力去偷一辆‘足球老妈的买菜车’!”
毫无吸引力的外表、强悍的V6动力,以及完美契合防弹改装的物理空间。
杨坚看着这台深灰色的移动堡垒,嘴角勾起了一抹极其满意的微笑。大隐隐于市,这简直就是为他量身定制的都市猎手。
“就它了。”杨坚点了点头,“防弹改装需要多久?”
“这间仓库里有全芝加哥最好的地下技师。”史蒂夫打了个响指,“给我三天时间。这三天里,技师会拆开内饰板铺设凯夫拉,换上定制玻璃,再把悬挂稍微强化一下。我保证,从外面看,连最老道的缉毒警都看不出这车有任何问题。”
说到这里,史蒂夫偏了偏头,示意杨坚跟上:“走吧,跟我去见见老板。既然你今天碰上了我,我会帮你拿到最好的内部价,手续也会做得像初生婴儿一样干净。”
两人穿过仓库,走进了那间装修考究的老板办公室。
在史蒂夫的熟络交涉下,那位穿着高级西装的车行老板极其干脆地给出了一个打包价。
“看在史蒂夫的面子上,我不赚你差价。”老板靠在真皮转椅上,双手交叉,“这辆2010款的V6 RAV4,算你一万八千刀。至于你那些‘特殊要求’……定制防弹玻璃、凯夫拉纤维以及加急的人工费,收你两万刀。总共三万八千刀。”
老板推过来一份打印好的正规销售合同:“当然,为了应付IRS(国税局)那些烦人的狗腿子,这份明面上的合同里只写车价的一万八千刀。至于剩下的改装费,完全是处于我们之间的‘私人友谊’。”
这价格很公道。杨坚没有任何废话,他拿起笔,看了一眼那份干干净净的购车合同,满意地签下了自己的名字。
随后,他拉开夹克内兜,掏出一万两千美金的现金,不轻不重地拍在了老板的红木办公桌上。
“这是近三分之一的订金,足够覆盖你前期调集防弹材料的成本了。”杨坚语气平淡,“三天后我来验车,只要效果达到我的要求,剩下的两万六千刀尾款,一分不少地结清。”
“我就喜欢和您这样痛快的人做生意,杨先生。您的车会得到全芝加哥最顶级的照料。”看到那沓厚厚的现钞,老板脸上的职业假笑瞬间变得真诚了许多,爽快地收起了钱。
走出办公室,史蒂夫一路把杨坚送到了车行门口。他停下脚步,像第一次认识眼前这个人一样,重新上下打量了杨坚一番,语气里带着几分意味深长:“看来咱们的交情得再往上提一提了,杨。”
史蒂夫嘴角勾起一抹玩味的笑意,“毕竟,能在南区把底牌藏得这么深、一开口就是防弹定制的狠角色,可比昨晚派对上那帮只会喝廉价啤酒的酒鬼有趣多了。以后有这种大生意,记得多关照老朋友,对吧?”
“三天后来提车。谢了,史蒂夫。”杨坚神色淡然地应下了这个人情。
第三十七章 外包
第二天,杨坚极其罕见地睡到了自然醒。睁开眼时,十一月芝加哥初冬的晨光,正透过百叶窗的缝隙,在地板上投下斑驳的光影。
昨天先是雷厉风行地帮凯文找好了律师,埋下了解决婚姻烂账的法律引线。接着又在南郊的地下车行砸下重金,订制了属于自己的出行工具。
几件迫在眉睫的事情顺利步入正轨,再加上账户里那接近四百万美金带来的绝对底气,杨坚脑子里那根紧绷了许多天的弦,终于在这一刻彻底松弛了下来。
重生以来,他一直在步步为营地算计和谋划。而现在,随着这三天等车交付的休息时间到来,人类骨子里的那点懒惰惯性终于占了上风。
他今天什么正事都不想干,只想舒舒服服地躺在这间南区的老房子里,彻底放空大脑,当一回什么都不用操心的废人。
杨坚舒舒服服地躺在略显破旧的床垫上,顺手摸过床头的智能手机。在2011年,这已经算是不错的配置了。他本能地想要像前世那样刷会儿手机来消磨时间,但大拇指在屏幕上划拉了两下,那种索然无味的感觉就涌了上来。
这时候的YouTube,首页推荐算法还很稚嫩,充斥着画质感人的猫咪视频和无聊的家庭录像。
Facebook上也全是大段大段的文字状态更新和构图极其随意的低像素照片。对于一个经历过十几年后短视频时代信息大爆炸和精准算法喂养的现代人来说,此时的移动互联网,简直就像是一片荒芜的数字沙漠,无聊得让人打哈欠。
“算了,还是干点正事填饱肚子吧。”
杨坚把手机扔到一旁,翻身下床,趿拉着拖鞋走进了厨房,决定好好犒劳一下自己的胃。
他打开冰箱,拿出鸡蛋、全脂牛奶、厚切吐司和一包培根。作为一个对生活品质有追求的单身汉,做一顿完美的法式吐司并不算难。
他在一个平底碗里打入两颗鸡蛋,倒入适量牛奶,撒上一点肉桂粉和一撮细盐,用叉子快速打散搅匀。接着,将两片厚切吐司放进蛋液里,让面包那多孔的结构吸饱汁水。
点火,热锅。杨坚没有急着放黄油,而是先将几片红白相间的培根平铺在平底锅上。“滋啦——”随着温度升高,培根里的油脂被迅速逼了出来,浓郁的肉香瞬间霸占了整个厨房。
等培根煎到焦脆、边缘微微卷起时,他将培根夹出放在厨房纸上吸油。随后,他直接利用锅里那层泛着金黄光泽的培根猪油,将吸满蛋液的吐司下了锅。
高温让吐司表面的蛋液迅速凝固,散发出一种混合着奶香、蛋香和油脂香的罪恶气息。煎至两面金黄微焦后盛出,最后再就着锅底的一点底油,单手打入一颗鸡蛋,煎了一个完美的单面半熟煎蛋。
把吐司装盘,叠上酥脆的培根,盖上煎蛋,最后淋上一圈枫糖浆。配上一杯刚手冲好的黑咖啡,这顿热量和幸福感一块儿爆炸的美式早餐就算完成了。
杨坚坐在餐桌前,用刀叉切下一块吐司。酥脆的培根、吸满糖浆和蛋液的松软面包,再加上被戳破后流淌下来的浓郁蛋黄,丰富的口感在口腔里爆炸开来。一口下去,不仅胃里暖洋洋的,连灵魂都仿佛得到了升华。
吃饱喝足,用黑咖啡清了清口腔,杨坚端着马克杯坐到了书桌前,打开了那台崭新的笔记本电脑。
这是他用敲诈互利公司拿到的第一笔预付款顺手买的。顶配的性能,纯黑的金属机身。至于台式机,他打算等之后家里换了更好的家具后再攒一台性能怪兽。
按下电源键,新笔记本的触感极佳,风扇运转的声音细微得几乎听不见。手指搭在键盘上的那一刻,杨坚有一瞬间的恍惚,仿佛又回到了前世那个在深夜里敲击代码、运筹帷幄的资深程序员时光。
在这种舒适的工作环境下,他的大脑很快进入了高度专注的心流状态。
他打开记事本,开始系统地分析《2048》这款手机游戏的开发架构。
作为一个重生的互联网老兵,他很清楚自己的短板:目前他只刚刚入门了Java。如果要在2011年独立开发这款游戏,安卓端(Android)用Java勉强还能对付,但苹果的iOS端此时用的是极其晦涩的Objective-C语言。要兼顾双端开发,对他现在的技术储备来说,挑战难度太大,而且极其耗时。
但如果直接把核心代码外包出去,以他目前半吊子的技术水平,很容易被对方用垃圾代码忽悠,甚至存在被盗取创意的风险。
“必须得找靠谱的人,还得做好技术隔离。”
杨坚在屏幕上敲击着键盘,梳理着系统设计。在2011年,虽然前后端完全分离的概念还不如后世那么普及,但为了安全和效率,他依然决定将项目拆开:
前端(客户端):其实《2048》的核心逻辑极其简单,就是一个4x4的矩阵,加上上下左右滑动的数字合并算法(Matrix Sliding)。甚至都不需要用庞大的游戏引擎,直接用Cocos2d-x这种轻量级跨平台框架,或者干脆用HTML5/JS写个网页,然后用PhoneGap套个原生的壳子就能搞定双端。前端只负责渲染UI动画、接收手势操作,以及在合适的位置(比如游戏结束界面)接入AdMob等第三方广告平台的SDK,预留出普通的广告展示格。
后端(服务器端):需求不多,只需要开发轻量级的API接口。负责处理用户注册登录、排行榜(Leaderboard)数据同步就足够了。
但在杨坚的规划里,后端的重头戏并不是这些常规功能,而是隐藏在暗处的数据埋点与分析。
他需要后端悄无声息地记录下每个用户的日活跃度(DAU)、次日留存率、七日留存率,以及单次游戏时长。在没有智能推荐算法的2011年,这些极其直观的留存数据,才是他用来证明这款游戏具备恐怖成瘾性的最核心资产。只要留存数据足够漂亮,前端的那些普通广告格,自然能变成源源不断的印钞机。
敲完回车,看着屏幕上的架构图,杨坚确认了整体工程量其实非常小。几个技术熟练的计算机大学生,最多一两周,就能把双端可运行的初代Demo(MVP测试版)做出来。至于后期的机型适配、UI打磨和上架流程,再花点小钱让他们慢慢修就行了。
问题是,去哪找便宜好用又听话的大学生呢?直接去技术论坛上发帖招人,良莠不齐,还容易被坑。
突然,杨坚脑海中闪过一个人影。
他拉开抽屉,翻出了之前参加芝加哥大学技术沙龙时拿到的一张名片——芝加哥大学工程学院,郝斯特教授。
这个老头子在芝加哥大学混迹多年,手底下管着大批计算机系的高材生,人脉极广。通过他来介绍几个基本功扎实的学生牛马,绝对是手拿把掐的事。
而且学生普遍比较单纯,只要杨坚把任务拆解得足够碎,不让郝斯特和那些学生看清整个《2048》背后那套极具成瘾性的心理学机制,他就能安安稳稳地闷声发大财。
思路理顺,杨坚拿起手机,照着名片上的号码拨了过去。
没过多久,电话接通了,那头传来了压低的声音。
“你好,这里是郝斯特。”
“教授,您好。我是杨坚。几个月前我们在芝加哥大学的技术沙龙上见过面,当时您还对我的一个算法设想指点过几句。”杨坚语气温和、不卑不亢地攀着交情。
郝斯特显然对这个有些特别的亚裔青年还有印象,轻笑了一声:“哦,我记得你,那个对算法效率极其苛刻的小伙子。怎么,今天打电话来,是有什么技术问题要探讨吗?”
“不全是。实际上,我手里有一个校外的商业小项目,需要几个编程底子扎实的帮手。”杨坚直奔主题,“我想,或许您可以给我推荐几位您的得意门生。当然,报酬方面绝对是按商业标准来。”
郝斯特这种老江湖自然心领神会,给学生介绍私活赚外快,顺便自己还能落个人情,这种事在高校教授圈子里再正常不过了。
“没问题,杨。只要项目靠谱,我手底下有几个聪明的小伙子完全可以胜任……”
郝斯特的话还没说完,电话那头的声音突然顿住了,紧接着传来一阵轻微的布料摩擦声,似乎是教授站起了身。