八哥之神【22】

大学操场

姻姻是稣的初恋,本科时认识,读研时结婚。

有一天在操场散步时,突然狂风大作,雷电劈中我们,她变成暴风女神,而稣变成火娃雷神……但稣不会飞,每次都要她帮忙,才能出去纵火打雷——不,是行侠仗义。时间久了,我们被称为风火情侣。

直到有一天,我们在飞行时,吵了一架,她把稣从高空扔下,砸毁一架飞机,里面 162 人全部死亡。

回到地面,稣变回凡人状态,没人知道是稣砸坏的飞机。稣出席追悼会时,还被人莫名欢迎,内心十分尴尬。

民政局

大妈表情严肃地问:为什么离婚?

稣忍痛问答:家庭暴力、婚内强碱。

大妈生气地说:我最看不起的就是家庭暴力的男……

姻姻打断大妈:我是把他打成猪头了,脸上淤青还在,证据确凿,赶紧办完,我还要去德国读博呢!

大妈:嗯?!嗯……好样的,你要去哪里赌博?最近扫黄扫黑,小心点,姑娘。

姻姻:是读博士!

离别时,稣平静而深情地抱了一下姻姻:“以后再婚,你这暴脾气要改改,别把老公玩死了!”

然后稣痛苦地捂着唧唧吓醒……

所谓现实

稣一醒来就大吃一惊:“怎么竟然……果然是你!”

陈博士:“你超脱后,立刻就昏迷,是受了什么打击?”

“稣可能就是被你吓昏的,陈立姻同学!”

“都几十年了……”

“十年怕草绳吧!听说你也再婚,现在怎么样?”

“丧偶多年,现在一个人。”

“咳,挖坑了……”

谷绵走进医疗室,检查一番:“各项指标都正常。”

“小姐姐,你说的指标应该不包括脑抠疼吧!麻烦送陈博士出去,稣要修复一下受伤的心灵。”

“那好,你先休息,我等你一起吃饭。”陈博士离开。

“圣先生好像很怕陈博士?因为她是你前妻吗?”

“是吧!你不觉得她心狠手辣吗?在识界里,她背后放了稣一枪,又在佛塔里痛扁稣一顿。现实中就更可怕了……”

“哦?怎么个可怕法?”

“家丑不可外扬……不过没结婚前的事情,可以八卦一下!”

“你说吧!我的工作性质你懂的,只会记录在机密档案里,不会外传。”

“她家很有钱,从小惯坏,脾气很大,大学谈恋爱时,凡事稣都让着她,挨打是少不了的。第一次去开房,稣觉得终于能占她点便宜。没想到,惨被她强碱了一百遍,一百遍……”

“哈!”

“这就是傍富婆的代价。”

“哈哈哈……你们太逗了。”

“这,一点都不好笑。”稣严肃地内牛满面。

“惨事都能被你说得这么好玩!”

“你好像并不意外?”

“当然,姻姻姐和我说过,不过她现在应该改好脾气了,先生不必在意过去。”

“姻姻姐……原来你们早就认识!话说,始终是过去,不追究啦。稣在识界里的幻境,遇到秦阳了,下次可以从幻境开始吗?”

“这我不知道,周老师说你有影响识界的能力,也许可以吧!不过秦阳出现的时候,我发现识界出现异常。”

“什么异常?”

“出现三个我!”

“三个你,还是三个稣?”

“三个你……”

“哦,稣明白了,是三个稣!”

“听说我和秦阳长得很像,是真的吗?”

“是啊,我第一次见到你时,有点怀疑你是周老师用了秦阳的部分基因制造出来的,不仅身材、容貌像,连气味都像。”

“我原本对自己是基因工程合成的身份,并没有太介意,觉得和你们自然人克隆的,差别不大,都不是娘胎出生的。自从知道,自己的基因可能来自哪些人,我就开始迷茫。”

“哦,现在地球人数量只有稣记忆中最多时的 20 万分之一,基因合成其实比克隆现存自然人的方式更先进,这有啥好迷惘的?”

“最初是对父母这一概念的渴望,后来隐约感觉当权者会替我们选择基因,并对不同类型人群区别对待,比如我,现在做的工作,自己是没有太多选择权的。我的未婚夫也是这样,连我们订婚也好像是被安排的。”

“可能真是这样……稣也不明白,为什么自己的地位初始值就不低,还能参与科学研究和冒险!但稣相信,宇宙是一个整体,一切联系最终都会被发现。这一切不可能只是闲得蛋疼吧!”

“先生真乐观!也许身份不一样,决定我乐观不起来,我还是很羡慕你的。”

“不悲不喜的状态挺不错的,这也是稣追求的。像稣这样经常体验死亡和失恋,也不一定是好事。”

“这倒也是,我就很怕失恋,死亡就更怕了,让我过先生的生活,还真的没办法。”

“嗯嗯,你的人生也会有自己的意义,不必羡慕别人。稣准备起来赴死了……”

“哈哈,是和陈博士一起吃饭吗?”

“看,你不是挺懂幽默的?多笑,你笑起来很美!”

“先生好像经常这样夸女孩子?”

“是啊,但也不是每个女孩子笑起来都是美的,有的笑起来就像大撒币。”

洗碗

昨晚,脑波说:“到你洗碗了!”

稣一看,由于晚餐在外面吃的,碗碟一共就五个,轻松塞进洗碗机,加洗碗粉,关门,启动,一气呵成。最难的部分当属——这些碗该怎么排放才显得优雅有逼格……

然后领导知道稣是用洗碗机洗便指示:“你就不会动一下手吗?才五个,手洗五分钟搞定,用洗碗机要洗一个多小时!”

稣纳闷,就算只洗一条内裤,也是用洗衣机,手洗主要是心累,所以不管是洗衣,还是洗碗,显然就是用机器代劳。

在这点上,男女思维确实有很大区别!并非个例,稣的老妈就很抵触洗碗机,觉得要洗很久,不如自己噼里啪啦几下洗完……

所以如果用代码表示,女人对洗东西的量是会用 if-else 代码块,甚至是 switch 代码块来区别对待的,而男人就是调用一个固定函数!

不得不得出一个结论:女人的脑子更精密一些!

八哥之神【21】

稣低血糖送医诊治,精神恍惚间只见灯光忽明忽暗,吊葡萄糖的瓶子上爬满恐怖的蜘蛛,旁边坐着叔公。

“乖侄孙,醒醒!”

“饿……叔公?那个佛塔为什么只有 17 层?”

“还关心这些无关紧要的!赶紧振作起来,你还要娶两个老婆呢!”

“什么?稣啥时候说过要娶两个老婆的?”稣一发现 bug 就立马精神起来。

“好吧,是三个!”

“烦死,你们为什么老是给稣强加人设……算了,三个就三个。佛塔还有两层去哪里呢?”

“是地下室,里面都是骷髅头,很恐怖,你可以自己去看看。”

“怎么去?还有这是哪家医院?”

“飞过去,在你的梦境,你无所不能。”

瞬间稣就到达佛塔地下两层,果然全是骷髅头,阴森恐怖,万分可怕,稣不禁怀疑,常年在佛塔不吃不喝的殷离会不会靠吃人维持长生不老?

吓醒之后,赶紧去四层找殷离问清楚。

“你住的这层是第四层,但是在地面看是第二层,所以地下还有两层?”

“是的,你都不上厕所吗?”

“啊?你抢了稣的台词!”

“地下两层就是厕所。”

“吓屎,稣还以为你要把稣饿死,然后吃了。”

“你怎么知道的?”

“呃……难道是真的?”稣瑟瑟发抖。

“是的,你也不是第一个,每个我怀疑是圣小开的人,到这里都会被我弄死,丢掉可惜,顺便就……”

“稣低血糖,头晕……肉都吓酸了,不好吃。”说完拔腿就往塔顶跑,心想只有塔顶能逃出去,从 17 层跳下去也许还能活命。

“喂!笑脸郎……姐姐我刚吃过,吓唬你的,不会吃你的。”

“什么?你在哪里吃的?”

“寺庙厨房呀!”

“不可能,稣试过,这塔就是设计来关人的,没有外人帮忙根本出不去。”

“住持每天 6 点都来请我出去用膳,你这懒猪,每天睡到快 9 点,哪能看到你太太太太太太太太祖奶奶!”

“那明天稣能一起出去吃吗?快饿死了。”

“你起得来吗?我要饿死你,是你自己的想法,我可没想过。”

“谢谢姐姐,明天准时饿醒!看来小稣还有活命的希望,佛法无边,救人一命胜造七级浮屠,稣要刻苦学习佛法。”

当晚,稣随手点燃了殷离给的蜡烛,一心只想学习,忘记她说过,里面有致幻剂。

看红尘冉冉,须臾无间,参遍昙华演幻。

问法珠玄玄,方寸有变,听尽默烛说禅。

这个逼装得不错,甚至还想发朋友圈,可惜手机早被没收……

很快稣就在装逼的快感中中毒身亡,连第二天的早餐都吃不到,倒是在幻境中喝了一杯榴莲西米露!

默烛幻境

2019 年 2 月 9 日,稣独自去梦影看 0 时 10 分午夜场的《流浪地球》,左边隔一个空位的妹纸很眼熟引起稣的注意,这么晚来看电影,应该是单身,所以电影开播前稣直接搭讪了。

“Hello,你看起来很眼熟,是不是也在附近上班?”

“你这个搭讪手法不嫌太老套?”

“稣本将心向明月,奈何明月 38 万千米远……没事,看电影吧!”

“呆子。”

有一幕男主飞身救妹的场景,明显不符合物理定律,稣不自觉吐槽:“两只飞猪同时着地!”

左边的妹纸听到后转头一笑,充满善意和欢快。

片尾时,稣挪到我们之间的空位,挨着她问:“能认识一下吗?稣是圣小开。”

“秦阳,秦始皇的太阳。”

“这么阳刚的名字?还这么高,不会是变性人吧!”

“你的世界是多阴暗,动不动就怀疑别人?不理你了。”

“不好意思,我们程序员都是这鸟样……稣请你喝牛油果奶昔赔罪吧!”

“这么巧?我就喜欢牛油果!”

“哦,我只知道它贵,比较有诚意,但热量太高,我减肥不敢吃,你喜欢就好。”

“你减肥?不胖啊!”

“将胖恐惧症,你听过吗?”

“没有!不 care,我 167,才 98 斤,还是多吃点,hiahiahia~”

“你是我见过的少数瘦还有胸的美女!”

“这么直接好吗?不会含蓄点?”

“那稣可能会结巴,我们程序员都这么科学看待,大部分时候没啥不好吧!”

“程序员要被你给黑死了……”

“留个联系方式吧,下次看电影就找你。”

“可以呀,科幻大片、心理犯罪之类的都可以,其它什么狗屁爱情文艺片就算了。”

“耶?同道中人!有戏!”

“hiahiahia~”

八哥之神【20】

“佛塔里肯定有一个老头等稣好多年,即将传输百年功力给稣,然后稣立马变成武林高手,把这些撒币和尚打成猪头。”一想到这,稣忍不住在一团漆黑中笑起来。

“笑脸郎,你都被关起来了,还笑得这么开心?”楼上传来一个老太婆沧桑但浑厚的声音。

“额?怎么是女的?”稣内心震惊,急忙问:“佛门清净地,怎么会有女人?难道你是保洁阿姨?”

“不是!贫尼乃本寺创始人,殷离。”

“殷离?难道你就是《天龙八部》里的那位殷离?”

“什么《天龙八部》?你说的是金庸的小说吗?”

“是的,你是古代人?”

“笑脸郎,你搞错了,殷离是《倚天屠龙记》的人物,那不是我,但我确实是古代人,按照当今公历,我出生时间是 1333 年。”

“妖,老妖……婆,你要吓死稣啊!不要开灯!稣不敢看。”

“这里没有灯,上来一层,我这边有些自然亮光。”

“别吓稣,几百岁的人得多恐怖?”

“呵呵,笑脸郎你还真信?都不怀疑我瞎编的?”

“信,你这声音没有几百年功力怎么可能这么恐怖,稣快耳鸣了。而且本寺神秘兮兮,创始人一定不简单。”

“傻小子,这佛塔其实是个歌舞厅,我用功放设备和你说话的,你上来吧!”

“卧槽……你是年轻的美女!殷离?1333 年?”

“是的,没有身份证。”

“要不是刚刚见鬼,稣差点就不信了……说出你的故事,稣很仰慕你,洗耳恭听。”

识界量子地狱

陈博士说:“圣小开骗我自杀,但我并没有回到现实。”

谷绵:“你自杀时的状态码不对,所以无法回到现实,不过性别恢复了,你现在可以选择转世。”

“哪里不对啦,妹纸?”

“性别错误,跳转程序检查状态不对,就拒绝超脱。”

“这不是坑我吗?”

“这个八哥,我们会在下个版本修复。作为补偿,你转世后可以获得 1000 年寿命,我将帮你送回识界主线 1333 年。”

“喂?你玩我呢?公报私仇吗?那么早的时间,啥科技都没有,多无聊啊!”

“我只是个程序,有意见等你超脱后找周老师反馈。再见!”

佛塔神秘四层

“我 23 岁遇到一个叫周易的人后就不再衰老,后来拜少林寺四大法王为师,学了武功和佛法,就到此创建本寺,并一直在佛塔里修行。”

“真无聊!你说的那个周易,好像是稣的大学老师呀!稣刚刚在塔外还很 buggy 地看到他,这到底是怎么回事?”

“你记得陈博士吗?”

“陈博士?难道是……那个秘书年轻漂亮的梗?”

“我就是陈博士。上次是你骗我自杀,结果因为识界设计有 bug,我并没回到现实,这次我等你几百年,我们可以一起超脱了!”

“等等,稣骗你自杀?然后你还真就自杀了?这不可能,稣不是这种人,好死不如赖活。”

“事实就是这样,我思考人生 663 年,加上周易冒出来提醒几次,才都明白的。”

“还是不可能,你肯定先做了啥对不起稣的事情,稣才会骗你,而且这个骗术也太强,稣不认为自己有这能耐!”

“你这小子有完没完?”,殷离姐姐暴打了稣……

只吃硬不吃软的稣,这下遇到克星了,痛苦地问:“好吧,你淫了,额啊!那么……回到现实是指离开寺庙,回到软件园,继续上无聊的班?”

“不是,那个并非现实,我们都在识界里,死后还有更现实的世界。”

“哦,别!稣已经工作好多年,有点存款,加上叔公给的 406 万,现在有 520 万存款,所以稣还不想死!”

“现实世界里,你可是千万富翁,比这区区 520 万多很多,还有特殊身份,比当码农有前途,你还是死了算了吧!”

“天呐,你这寺庙还有专业劝人去死的服务,稣的三观被你们毁光光了。”

“呵呵,那就在此多耗几天,我料你定会想死。”

“不想,不想,稣不想。刚被你打一顿,更不想死了……稣要练功报仇!”

“省省,我这几百年的功力,你是无法企及的。而且你还没搞清楚自己的人物设定吗?”

“嗯?你知道什么天机?”

“你这辈子只会被女人打,不可能打得过女人,尤其是我这样的高手!”

“哦……但稣可以增强防御能力吧。”

“就会嘴硬。给你点时间消化,这里没吃的,你要睡觉就上奇数层,这里有 19 层,奇数层都是暗黑无光,偶数层有点自然光,但到晚上都是一样暗。”

“好的,姐姐,你是想饿死稣,明白!”

“拿着。”殷离递给稣一个盒子。

“这是啥?”

“里面是含致幻剂的蜡烛和火柴,你快饿死的时候就点它,可以帮你超脱。”

八哥之神【番外篇3】

听说鲁豫要来采访稣

1. 李怡和吴情是同一个人吗?

不是。性格有点相似,取名自“利益无情”。李怡对应的是大学同学的故事,男主不是作者本人,因为很相关,就一起写了。吴情是作者梦里的人物,演员是作者高中同学。

2. 为什么出现美柚这种现实中的公司?会不会泄露隐私?

  • 什么是现实?能吃吗?
  • 美柚是“美国柚子开发商”的缩写,这是一家区块链技术公司。
  • 全是做梦,甚至偶尔是梦中梦。啪啪啪也是做梦……千万别当真。

3. 出现许效舜有什么特别含义吗?

这问题作者也想不通,因为日常生活中根本没有相关事物,莫名其妙就梦见……

4. 释德灵究竟是何方神圣?

原名段郑灵,父姓段,母姓郑,德国土豪,真的娶了三个老婆。不过是在作者梦里……

5. 八哥到底是什么意思?

这是作者被问得最多的问题……八哥就是 bug,意思是:撩。

  • Can I bug you?
  • I already fell for someone, so please do not bug me anymore.

翻译:

  • 我可以撩你吗?
  • 我已经心有所属,所以请不要再撩我。

6. 为什么好多女角只出现一小会就消失?

  • 春梦易醒,匆匆过客。
  • 抓不出爱情的我,总是眼睁睁看她溜走……人生就是百年孤寂,大部分时间都在挣扎,谈恋爱哪有那么容易,不是人不对,就是时间不对,还是洗洗睡。
  • 那一夜,冷风小雨,空旷的广场,还飘着一只小海豚,耶问自己在干嘛?稣小心翼翼地回答:一路风雨参禅,即使美人在侧,稣一心向佛,阿弥陀佛……

7. 为什么不描述一下女角的容貌?

梦里黑乎乎的,分辨率也比较低,反正都是不同类型的美女,各位观众喜欢哪款自己套,毕竟作者请不起这么多女演员……

8. 哪位女角最漂亮?

目前出现过的是谷绵最漂亮,不过还有秦阳(女)和若干校花未出场呢!

云游戏开发指南【1】

实用参考

  1. 云游戏的架构设计和技术实现

    https://blog.csdn.net/RA681t58CJxsgCkJ31/article/details/79226317

  2. GamingAnywhere

    http://www.gaminganywhere.org

  3. OBS Studio

    https://github.com/obsproject/obs-studio

服务器架构

  • NVIDIA Grid 显卡

  • Windows 8 - 10,最好别用 7。

  • Sandbox 方案

一份授权 Windows 系统大约可以运行 40~50 个游戏实例。

音频

  • 服务器上设置 48000Hz 采样率;

  • 编码器采用 Opus,48000Hz,128kpbs

    1. 音频编码的延迟:需要一个 frame 才能编码,而等待一个 frame 需要时间。比如,48000Hz 的 samplerate 编码到 1024 samples/frame 的 AAC,一个 frame 需要的采集时间是 1000 * 1024 / 48000 = 21.3ms,这个只是采集的理论时间,应用程序的采集间隔还可能增大这个采集延迟,然后还有编码、传输、解码、播放延迟。

      Opus 的 frame size 默认是 960,相比 1024 的 AAC 理论上可以减少一点点延迟,1000 * 960 / 48000 = 20ms。

      Opus 的 frame size 还可以更小,比如 120,但不建议使用,因为 Windows 一次采集 480 samples,frame_size = 120 时,一次采集包含 4 frames,所以延迟和 frame_size = 480 其实是一样的。另外,live555 最小发送单位是 packet,而不是 frame,并且实现上 packet 要等待 960 samples 时长。

      128kpbs 的 Opus 音质几乎已经顶天了,人耳很难分辨,比 mp3 好太多了,网络上流行的高音质 mp3 都是 320kpbs 的。

    2. Opus 是开源并免费的,AAC 好的编解码器都是收费的。

流传输协议

  • RTSP

  • live555

    http://www.live555.com/

    UMU 之前用 live555 2017.07.18 版本时,发现它对 Opus 支持不好,需要改进,当前版本未测。

八哥之神【19】

听静夜之钟声,唤醒梦中之梦;观澄潭之月影,窥见身外之身。

男人天性追求强大的力量,在见证稣的感知和分析能力后,耶希望能融合这种能力,以使自己更强大。又经历一梦,耶终于变成稣。稣决定不断变强,掌握命运!

然而,融合要消耗很多能量,还需时间消化,一大早的钟声令稣恼火,很想找人打一顿。没错,就是上次想测试的弗智,抓起来打!

“弗智同学,咱们来练练?”

“练?居士何意呀?”

“武功!来比划比划!”

“阿弥陀佛,小僧没见居士练过武,怕误伤居士。”

“没事,稣刚在梦里学了一套西洋拳,你就陪稣测试一下吧!”

“哦?可以吧!居士请出手,小僧不出手,用步法应对就是。”

“卧阔,好大的口气!看稣把你打成猪头!”

咦?怎么打不到……

“再快点!出手太慢是打不到小僧的。”

“不可能啊!躲这么快,你特么拍《黑客帝国》呀?”

“小僧就像一个电子,同时身处多处。”

“量子邪说都来了……难道稣还没醒?”

“你打不到我,你打不到我。”

“没道理,稣已经在观测你了,所以你的位置是确定的。”

“居士要打到小僧时,小僧的位置才是确定的!”

“这个不好玩,咱们换个玩法,你先静止,稣打你,看你是死是活!”

“哈!看小僧的硬气功。”

“握了个叉,打死你!”

“嗯!出拳太远,打到时力道已经不足。”

“哦?那你说要怎么打?”

“寸劲!哇哒,你懂吗?李小龙!”

“没想到你这么专业!看来稣打不过你!”

“小意思,过奖过奖,小僧乃弗字辈第一高手!”

“卧槽……你淫了!”

稣转身要走,不料又是熟悉的背后偷袭。

弗智左手挽住稣的胸,右手拳头在背脊和腰部碾了几下,“居士长期坐着,腰背都不好,需要捣腾一番!”

“呃啊……”稣被整得热汗直流,十分酸爽。看来武术并非稣的领域,还是再试试其它技能吧……

人生原是傀儡,只要把柄在手,一线不乱,卷舒自由,行止在我,一毫不受他人捉掇,便超此场中矣。

“阿弥陀佛,稣还是写代码吧!”说完,心想:“每个月赚几万,再加上叔公给的 406 万,买个车买个房,应该可以娶个老婆吧!”

这时失恋的唐泰九、孟浩多过来叫稣:“居士,住持有请,后山佛塔等候。”

稣整理衣衫,淡定一番,便一念惊觉,直登佛塔。却遇到个陌生人!

“住持呢?”

“我就是。”

“你是住持?那释德灵呢?”

“我就是。”

“你整容了?照着哪个明星整的?怎么有点眼熟。”

“一月三身。”

“别扯了……声音还是一样的,那你还有一张稣没见过的脸?干脆一次见完。”

“我扯!”住持表演变脸,变回上次看到的。

“哇!难道你是四川人?”

“我再扯!”

“嗯?你是周易!”

“然也!”

“周老师,为什么是你?”

“小开,现在老师走后门附身住持,进来救你,你快点醒过来!记住这局醒来的方法是滚下山。”

“什么?周老师你为什么不搞科研,跑来 cosplay 住持?”

“居士,你来了?”

“住持大师叫稣什么?稣刚才产生幻觉了?”

“叫你居士,怎么?有问题?”

“再前面呢?”

“没有了,贫僧入定等居士,刚睁眼开口。”

稣心想:“见鬼!真的产生幻觉……”然后说:“好吧,大师找稣何事?”

“希望居士可以继承贫僧的衣钵。”

“这玩笑开大了吧!大师是认真的吗?”

“认真,居士的法号就叫释德明吧,以后寺庙拜托你了。”

“大师不是干得好好的,为什么让位于稣?”

“贫僧打算还俗,与家人团聚。”

“咦?大师还有家人?”

“实不相瞒,贫僧在尘世有三个老婆。”

“啥?玩笑开大了!三个老婆?大师上山前,不是送外卖的吗?应该是穷人,怎么能娶三个老婆?”

“居士不记得村里有人娶三个老婆的故事?”

“是有听过,还生了七个孩子……难道真是大师?”

“对,贫僧想体验生活,才去送外卖。遇到释德神后,先是好奇为什么他能终生不娶,随着对大神和佛法了解深入,贫僧认识到娶三个老婆是罪孽深重,于是就在本寺修行。”

“所以大师并非……”稣咽了一下口水,“上次推测失误,还以为大师也终身未娶!”

可怕!这个寺庙不简单……稣被打击得很想滚下山。

“居士很有慧根,考虑考虑?”

“当住持好处是不少,但以后谈恋爱不方便,稣要考虑几年!”

“居士可以先正式剃度,当个名誉住持。”

“还得练几年武功,不然可能会被不服稣的人打死!”

“哈哈,哈哈,居士还是挺有想法的。”

“稣这就回去考虑几年吧!”

“居士请留步!佛塔内有天地灵气,居士还是到里面考虑更快!”说完,稣就被软禁在塔内……

优化思维【1】字符串去空格

In place 版本

传入的字符串将被改变。

为方便复用,一般会实现 ltrim 和 rtrim 两个函数,然后 trim 函数调用这两者实现。

  • ltrim:从 str 头部开始找到非空格字符,偏移量记为 offset,将 str 左移(move)offset 个字符。

  • rtrim:从 str 尾部向头部找到非空格字符,偏移量记为 offset,将 str 截断为 offset。

一个想当然的实现:

1
2
3
4
trim(str) {
ltrim(str)
rtrim(str)
}

假设 str 是 x 个空格 + y 个分空格 + z 个空格,则以上代码需要把 y + z 个字符向左移动 x 个位置。

更好的实现是:

1
2
3
4
trim(string& str) {
rtrim(str)
ltrim(str)
}

由于先截断,剩 x + y,再去左移,只需要把 y 个字符左移 x 个位置。

优化思路:尽量减少复制,调整顺序也是优化手段。

Copy 版本

传入的字符串不会被改变,返回一个新的字符串。

一个复用前面代码的实现:

1
2
3
4
5
6
string trim_copy(string str) {
// str is a copy
rtrim(str)
ltrim(str)
return str
}

这个版本需要复制 x + y + z 个字符,ltrim 和 rtrim 里面都有找偏移量的代码可以复用,直接找到 y 个非空格字符是起点和终点,复制这 y 个字符就好了。

1
2
3
4
5
6
string trim_copy(const string& str) {
// str is a copy
l = lfind(str)
r = rfind(str)
return str[l, r]
}

优化思路:尽量减少复制。

move

strlen、strcpy、memmove 这类函数,都有一个优化思路:机器字长对齐,一次处理一个机器字。对于长字符串,效果显著。

优化思路:针对硬件特征调整策略。

公司不是家庭

很多公司会有家庭特征,因为管理者水平不够,就把家庭的理念搬到公司。甚至有的管理者,本身就是巨婴,蹂躏完家人,到公司继续蹂躏员工。

1. 有问题的管理者不降级或开除

  • 家庭:再不行的成员,也有血缘关系,无法开除。

  • 公司:不行的成员,往往因为人情关系,被姑息。

一个不合适的管理者占据一个位置,他的下属一般不敢举报他。

如果我举报了上司,上上司是不是会觉得我闹事,反而对付我?我的平级同事会支援我,还是让我孤军奋斗?

他的上司可能觉得没有更好人选,或者知道他有些问题,但有点交情,体谅他已经做到管理层不容易,不想动他……于是出现典型的人情治理。这样危害很大。 管理层固化之后,其中的制约关系网也固定,于是倾向于腐化。

基层干活的人是很容易流动的,但他们很难影响企业文化,反倒会被利用来说明公司是有优胜略汰的。其实,管理层的优胜略汰更关键、更致命。

2. 优劣员工的工资拉不开距离

  • 一般父母会倾力维护子女的平衡,如果一个子女明显发展比另一个子女好,他们就会更用力帮助较弱的那个。这是应该的。

  • 很多管理者都会降低工资差距,认为大家都是兄弟,不能差太多。

如果有余力,上级也应该稍微更用心去帮助后进者,但不是说劫富济贫,把厉害的下属的工资拿一部分给弱的下属。这种劫富济贫危害很大。 如果公司是害怕大家私下交流后发现有人很高导致嫉妒,那应该开除那些能力低又瞎嫉妒的才对。工资高的人一般不会告诉别人自己的工资水平。善妒者,往往也是弱者,如果不能激励自己变强,则也应该淘汰。

3. 长期没有策略性裁员,公司出问题才开始裁

  • 父母如果太放任、太宠爱孩子,往往培养出有问题的孩子。

  • 平时不管教好员工,这是太高估 HR 的能力了,以为招到的每个人都能管好自己并领悟公司的文化和业务?

有两种人就是应该及时裁掉的:混日子的、危害公司利益的。如果公司实在太有钱养闲人,第一类暂且忽视。有意危害公司利益的是必须立刻开除,比如上面说的不合格的管理,容易导致大量优秀人才流失或者无法进入,这就是危害公司利益。

公司发展很好的阶段裁员,大家都知道是好事;而等到发展遇到瓶颈才裁员,大家往往认为是坏事。

4. 裁员不公开原因

所谓家丑不可外扬,一般家庭的做法是隐瞒。

公司不是家庭,理由可以很简单地说明,但不应该隐瞒。比如能力不足,就写“末位淘汰”、“能力不匹配”、“发展方向不匹配”等。如果是做了危害公司利益的事情,就应该公布具体证据和开除原因,以维护企业文化。


道理都懂,主要是缺乏挖掘并有效反馈八哥的机制。

八哥之神【18】

从后山回到寺院,先找道信师叔,发现他很眼熟,“道信师叔,本名是张道信?”

“耶?你知道啦?贫僧本名张信,道信是法号。”

“耶姓圣,咱们同村?”

“是的,你恢复了!”

“村里姓张的很少,耶应该都认识,咱们以前肯定见过!”

“我见你的时候,你还很小,应该不记得我吧?但我妹妹你一定认识,她是你幼儿园的张老师。”

“耶有两个张老师,一个未婚,一个已婚,你说的是哪个?”

“她当时未婚。”

“原来如此,小时候女神级的老师,印象中听人说她有个哥哥,原来就是你啊!所以是因为你们有些神似,难怪觉得你眼熟。”

“哈哈,你记性很好。”

“但耶记不清张老师叫什么名字了……她去哪啦?好像只教我们一年就消失了!”

“张敏君。嫁到上海去了。还不是因为村里的诅咒。”

“张……敏君?耶有个大学同学也叫这名字!你是说咱们村不是姓圣的会被诅咒的传说?”

“是啊,我不就应验了?自己没事,但老婆出事,我当时想不开,干脆就出家。”

“原来迷信都是这样来的!但师叔现在应该过得蛮好的。”

“人生天地如蜉蝣,随遇而安罢了。”

“师叔知道住持本名叫什么吗?”

“不知也!你问他吧!”

“算了,听他口音应该不是同村的,这问题没意思。但我觉得他应该也是单身一辈子。”

“何出此言?”

“刚才和他聊到一个绯闻,他反应有点羡慕耶的样子。没事,耶要去谈恋爱啦!”

耶离开时,仿佛听到两次捅刀子的声音。

由于工作上有交集,耶很快和凌笑越聊熟。

当晚梦境中,耶怒斥假冒的鲁耶:“快说,你到底是谁?自己的名字怎么可能记错?”

“哈哈,稣就是稣啊,这个名字是从你的记忆里读取的。”

“那你为什么要假冒耶的学长?”

“不假装一下,你会排斥稣。”

“说得好有道理,那请问你有什么目的?”

“稣打算和你融合。”

“你说融合就融合?对耶有什么好处?融合完,耶还能活?”

“能的,能的,我们是共享记忆的,现在融合,明天醒来,我们还是一样用我们的眼睛看世界,我们是一个人,一个存在。你回忆一下上山到现在,稣影响了你部分认知,但你有消失过吗?好处是我们加在一起会更强大。”

“是没有,耶都记得清清楚楚。但你为什么能凭空出现在耶的梦里?”

“稣是真实世界的意识,你是虚拟世界的意识,我们合作,才能认识到世界的本质!”

“你到底叫什么?为什么选择耶?”

“名字不重要,意识很复杂,随便取个名字,叫稣吧!随机选的,稣也很无奈。”

“融合以后我们叫什么?”

“说过名字不重要,随便怎么都行,不过稣比较好叫,耶比较难叫,不如还是叫稣吧?”

“耶是难叫!?感觉被你占便宜了!你以为耶不懂闽南语吗?”

“哈哈哈,你准备好接受世界的真相了吗?”

梦境一转,耶在 JFC 星巴克喝咖啡,对面坐的是凌笑越,相谈甚欢。突然一个外国美女在玻璃墙外和耶比划。

耶看出她比的是手语,于是马上就学会手语,读懂她的意思:“追她,赶紧表白。”

耶仔细看她的脸,居然慢慢从美女变得越来越像刚才的稣,于是很纳闷地问凌笑越,“你认识她吗?”

“不认识呀。”

“那真奇怪,她怎么怂恿耶追你?”

“哈哈,她可能以为我单身吧。”

“哦?原来凌姑娘不单身呀!”

吓醒。虽然接受到稣的信号,但耶还只是耶。

周末,凌笑越又来拜佛,这次耶约她拜完一起吃斋。

“耶早上做了一个梦,咱们在 JFC 星巴克喝咖啡,外面走过一个金发美女,怂恿耶追你。”

“哦,那你追不追呀?”

“你说自己不是单身。”

“我不是单身呀!”

“哦?居然猜对了!那你男朋友怎么不陪你来拜佛?”

“他还在耶鲁大学读书。”

“原来是跨国异地恋,失敬失敬……祝你们早日解脱!”

“解脱?你是诅咒还是祝福?”

“早日见面,解脱嘛!”

“死程序员,你会被打!”

后来听说,弗字辈的唐泰九、孟浩多得知这个消息后失恋了,耶倒是很淡定,因为稣的神力得到验证。

爱情的结局都是死,差别是怎么个死法。