我奋斗十八年不是为了和你一起喝咖啡!

4年前,网络上著名写手麦子的一篇《我奋斗了18年才和你坐在一起喝咖啡》引起了很多人的共鸣,这个文章讲的是一个农家子弟经过18年的奋斗,才取得和大都会里的同龄人平起平坐的权利,一代人的真实写照.然而,3年过去,我恍然发觉,他言之过早.18年又如何?再丰盛的年华叠加,我仍不能和你坐在一起喝咖啡. 

  那年我25,无数个夙兴夜寐,换来一个硕士学位,额上的抬头纹分外明显,脚下却半步也不敢停歇.如果不想让户口打回原籍,子子孙孙无穷匮,得赶紧地找份留京工作.你呢?你不着急,魔兽世界和红色警报?早玩腻了!你野心勃勃地筹划着“创业创业”.当时李彦宏、陈天桥、周云帆,牛人们还没有横空出世,百度、Google、完美时空更是遥远的名词,可青春所向披靡不可一世,你在校园里建起配送网站,大张旗鼓地招兵买马,大小媒体的记者蜂拥而至.334寝室很快在全楼名噪一时,小姑娘们从天南地北寄来粉粉的信纸,仰慕地写道:“从报上得知你的精彩故事……”得空,爬上楼顶吹吹风,你眉飞色舞地转向我,以照顾自己人的口气说,兄弟,一起发财如何? 
   
  好呀,可惜,我不能.创业于你,是可进可退可攻可守的棋,启动资金有三姑六眷帮忙筹集,就算铩羽而归,父母那三室一厅、温暖的灶台也永不落空.失败于我,意味着覆水难收一败涂地,每年夏天,为了节省三五百块钱的机器钱,爹娘要扛着腰肌劳损在大日头下收割5亩农田.我穿着借来的西服完成了第一次面试,戴着借来的手表与心爱的女孩进行了第一次约会.当你拿到了第一笔投资兴奋地报告全班时,我冷静地穿越大半个北京城,去做最后一份家教.没错,“这活儿技术含量忒低”,但在第一个月工资下发前,我租来的立锥之地与口粮全靠它维持. 
   
  不多久,互联网就遭遇了寒流,你也对创业意兴阑珊,进了家国有性质的通信公司,我被一家外企聘用.坐井观天的我,竟傻傻地以为扳回了一局.明面上的工资,我比你超出一截,税后8000,出差住5星级宾馆,一年带薪休假10天.玩命一样地投入工作,坚信几年后也有个童话般的结尾,“和公主过上幸福的生活”. 
   
  好景不长,很快,我明白了为什么大家说白领是句骂人的话.写字楼的套餐,标价35,几乎没人搭理它.午餐时间,最抢手的是各层拐角处的微波炉,“白领”们端着带来的便当,排起了长长的队伍.后来,物业允许快餐公司入住,又出现了“千人排队等丽华”的盛况.这些月入近万的人士节约到抠门的程度.一位同事,10块钱的感冒药都找保险公司理赔;另一位,在脏乱差的火车站耗上3个小时,为的是18:00后返程能多得150元的晚餐补助. 
   
  这幕幕喜剧未能令我发笑,我读得懂,每个数字后都凝结着加班加点与忍气吞声;俯首帖耳被老板盘剥,为的是一平米一平米构筑起自己的小窝.白手起家的过程艰辛而漫长,整整3年,我没休过一次长假没吃过一回鸭脖子;听到“华为25岁员工胡新宇过劳死”的新闻,也半点儿不觉得惊讶,以血汗、青春换银子的现象在这个行业太普遍了.下次,当你在上地看见一群人穿着西装革履拎着IBM笔记本奋力挤上4毛钱的公交车,千万别奇怪,我们就是一群IT民工. 
   
  惟一让人欣慰的是,我们离理想中的目标一步步靠近. 
   
  突如其来地,你的喜讯从天而降:邀请大家周末去新居暖暖房.怎么可能?你竟比我快?可豁亮的100多平方米、红苹果家具、37寸液晶大彩电无可质疑地摆在眼前.你轻描淡写地说,老头子给了10万,她家里也给了10万,老催着我们结婚……回家的路上,女朋友郁郁不说话,她和我一样,来自无名的山城.我揽过她的肩膀,鼓励她也是鼓励自己,没关系,我们拿时间换空间. 
   
  蜜月你在香港过的,轻而易举地花掉了半年的工资,回来说,意思不大,不像TVB电视里拍的那样美轮美奂;我的婚礼,在家乡的土路、乡亲的围观中巡游,在低矮昏暗的老房子里拜了天地,在寒冷的土炕上与爱人相拥入眠.幸运的是,多年后黯淡的图景化作妻子博客里光芒四射的图画,她回味:“有爱的地方,就有天堂.” 
   
  我们都想给深爱的女孩以天堂,天堂的含义却迥然不同.你的老婆当上了全职太太,每天用电驴下载《老友记》和《越狱》;我也想这么来着,老婆不同意,你养我,谁养我爸妈?不忍心让你一个人养7个人.当你的女孩敷着倩碧面膜舒服地翘起脚,我的女孩却在人海中顽强地搏杀. 
   
  两个人赚钱的速度快得多.到2004年年底,我们也攒到了人生中第一个10万,谁知中国的楼市在此时被魔鬼唤醒,海啸般狂飙突进,摧毁一切渺小虚弱的个体.2005年3月,首付还够买西四环的郦城,到7月,只能去南城扫楼了.我们的积蓄本来能买90平方米的两居来着,9月中旬,仅仅过去2个月,只够买80多平. 
   
  没学过经济学原理?没关系.生活生动地阐释了什么叫资产泡沫与流动性泛滥.这时专家跳出来发言了,“北京房价应该降30%,上海房价应该降40%.”要不,再等等?我险些栖身于温吞的空方阵营,是你站出来指点迷津:赶快买,房价还会涨.买房的消息传回老家,爹娘一个劲儿地唏嘘:抵得上俺们忙活半年.在他们看来,7500元一平方米是不可思议的天价.3年后的2008,师弟们纷纷感叹,你赚大发了,四环内均价1万4,已无楼可买. 
   
  几天前,我看见了水木上一句留言,颇为感慨:“工作5年还没买房真活该,2003年正是楼市低迷与萧条之时.等到今天,踏空的不仅是黄金楼市,更是整个人生.” 
   
  真要感谢你,在我不知理财为何物之时,你早早地告诉我什么叫消费什么叫投资. 
   
  并非所有人都拥有前瞻的眼光和投资的观念.许多和我一样来自小地方、只知埋头苦干的兄弟们,太过关注脚下的麦田,以至于错过一片璀璨的星空.你的理论是,赚钱是为了花,只有在流通中才能增值,买到喜爱的商品,让生活心旷神怡.而我的农民兄弟——这里特指是出身农家毕业后留在大城市的兄弟,习惯于把人民币紧紧地捏在手中.存折数字的增长让他们痴迷.该买房时,他们在租房;该还贷时,他们宁可忍受7%的贷款利率,也要存上5年的定期.辛苦赚来的银子在等待中缩水贬值.他们往往在房价的巅峰处,无可奈何地接下最后一棒;也曾天真地许愿,赚够100万就回家买房.可等到那一天真的到 
   
  这便是我和你的最大差别,根深蒂固的分歧、不可逾越的鸿沟也在于此.我曾经以为,学位、薪水、公司名气一样了,我们的人生便一样了.事实上,差别不体现在显而易见的符号上,而是体现在世世代代的传承里,体现在血液里,体现在头脑中.18年的积累,家庭出身、生活方式、财务观念,造就了那样一个你,也造就了这样一个我,造就了你的疏狂佻达与我的保守持重.当我还清贷款时,你买了第二套住房;上证指数6000点,当我好容易试水成为股民,你清仓离场,转投金市;我每月寄1000元回去,承担起赡养父母的责任,你笑嘻嘻地说,养老,我不啃老就不错了;当我思考着要不要生孩子、养孩子的成本会在多大程度上折损生活品质时,4个老人已出钱出力帮你抚养起独二代;黄金周去一趟九寨沟挺好的了,你不满足,你说德国太拘谨美国太随意法国才是你向往的时尚之都…… 
   
  我的故事,是一代“移民”的真实写照——迫不得已离乡背井,祖国幅员辽阔,我却像候鸟一样辗转迁徙,择木而栖.现行的社会体制,注定了大城市拥有更丰富的教育资源、医疗资源、生活便利.即便取得了一纸户口,跻身融入的过程依然是充满煎熬,5年、10年乃至更长时间的奋斗才获得土著们唾手可得的一切.曾经愤慨过,追寻过,如今,却学会了不再抱怨,在一个又一个缝隙间心平气和.差距固然存在,但并不令人遗憾,正是差距和为弥补差距所付出的努力,加强了生命的张力,使其更有层次更加多元. 
   
  可以想见的未来是,有一天我们的后代会相聚于迪斯尼(这点自信我还是有的),讲起父亲的故事,我的那一个,虽然不一定更精致更华彩,无疑曲折有趣得多.那个故事,关于独立、勇气、绝地反弹、起死回生,我给不起儿子名车豪宅,却能给他一个不断成长的心灵.我要跟他说,无论贫穷富贵,百万家资或颠沛流离,都要一样地从容豁达. 
   
  至此,喝不喝咖啡又有什么打紧呢?生活姿态的优雅与否,不取决于你所坐的位置、所持的器皿、所付的茶资.它取决于你品茗的态度. 
   
  我奋斗了18年,不是为了和你一起喝咖啡.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前面几日我重新实现了迷宫的自动生成方法,并且添加了迷宫自动寻路方法。有了一个独立于GUI的迷宫库,我开始迫不及待地实现三维迷宫了! 下面是我在开发迷宫程序中遇到的问题。 1、怎样将迷宫类的行和列映射到真实的三维坐标中?迷宫应该用哪个参考系来描述? 其实我在制作的时候为了简化,将二维迷宫的左上角与三维的原点重合,二维迷宫的右对应三维的X轴正方向,迷宫的下对应Z轴的正方向。 2、迷宫的“上、下、左、右”在三维中应该叫做什么? 在确定好迷宫的位置后,我们将迷宫的上对应Z轴的负半轴,下对应Z轴的正半轴,左对应X轴的负半轴,右对应Y轴的正半轴。 3、三维点绘制顺序以及OpenGL裁剪模式造成的一些面不可见问题。 这个问题是我在编写二维迷宫没有想到的。主要是因为二维迷宫中描述墙是用一条直线,而到了三维则是一个面。由于在OpenGL中有裁剪模式可以选择,我使用了 glFrontFace( GL_CW ); // 顺时针的绘制为正面 glEnable( GL_CULL_FACE ); // 剔除不是正面的面 进行设定,也就是说,所有在摄像机看来是逆时针绘制的图形都无法显示。因此我不得不用同样的顶点绘制两个面。下面是相关的函数: void DrawInnerWall( Point3F& p1, Point3F& p2, Point3F& p3, Point3F& p4 ) { glTexCoord2f( 0.0f, 1.0f ); glVertex3fv( p1 ); glTexCoord2f( 1.0f, 1.0f ); glVertex3fv( p2 ); glTexCoord2f( 1.0f, 0.0f ); glVertex3fv( p3 ); glTexCoord2f( 0.0f, 0.0f ); glVertex3fv( p4 ); } void DrawOuterWall( Point3F& p1, Point3F& p2, Point3F& p3, Point3F& p4 ) { glTexCoord2f( 1.0f, 1.0f ); glVertex3fv( p1 ); glTexCoord2f( 0.0f, 1.0f ); glVertex3fv( p2 ); glTexCoord2f( 0.0f, 0.0f ); glVertex3fv( p3 ); glTexCoord2f( 1.0f, 0.0f ); glVertex3fv( p4 ); } 在编写这些函数的时候尤其注意纹理坐标的绘制顺序。可以在纸上绘制一个草图。下面是我调用的代码: if ( Cell_UpWall( cell ) ) { DrawInnerWall( p8, p7, p3, p4 ); DrawOuterWall( p7, p8, p4, p3 ); } 4、怎样设置阻挡? 设置阻挡的基本原则还是先检测后执行。首先我先尝试着执行走一步,再判断这一步是不是出现了越界问题。如果出现了越界问题,那么不执行这一步,否则执行这一步。为了不让我们无限地靠近墙,我设定了一个gap,即摄像机必须与墙保持gap的距离。 下面是我相关的代码: bool View3D::CanGo( Maze& maze, float step ) { static float gap = m_CellSize.w / 8.0f;// 摄像机与墙最近不能超过的间隔 const Point3F& pos = m_Camera.Pos( ); Point3F tryPos; if ( pos.y > 0 && pos.y ( row - 1 ) * m_CellSize.w ); if (

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值