Menu

The 4th. Place

做了一点微小的工作

之前提到的代码于今日顺利合并入主干。

作为事后诸葛的典型的代表,好奇怪虽然修改的文件数量不少——修改与创建了85个文件,

但是难度并不是很大啊,怎么用了这么久呢?

自己给自己添堵大概说的就是我。

..

自己思维一直比较天(hao)马(wu)行(tou)空(xu),为此多年来深受其害。

举例来说,昨天的博客,刚写下标题是想表达一下我在党的温暖阳光沐浴下高昂的革命乐观主义精神,结果被金山词霸带歪了一下,就彻底跑偏了……

最近新闻不少,无论“刺死辱母者”、“辉山乳业暴跌”、“楼市限购”都让我这个伪八卦爱好者不断燃起为正义和自由而战的雄心壮志,虽然一直以来我都保持着不谈国事的优秀的习惯,但是今天,

我也没打算破例。

..

晚上没看空气质量就出去跑步,结果空气质量感人,且不说晚上吃得过饱还很辣导致肚子难受,吸入肺中的空气让人感觉简直是在自己体罚自己,遂绕小区跑了两圈就回家了,拿出手机一看果然 AQI 170+(US Index),也是蛮佩服自己的神经大条不看指数不要命的精神的。

回来本打算在家运动一会儿的,结果老板在群里讨论网络问题,没忍住多说了几句就半个多小时就过去了,哎。

从北京过来带的东西很少,以至穿衣非常局限,明天打算进城买几件衣服,又特么要破费了!

前几天刚还完巨额信用卡账单+房租,感觉每天不是给资本家和赵家干活就是给地主干活,摔!

生龙活虎

论翻译,我只服金山词霸。

为了避免被一群学识丰富的网友们打脸,写英文 URL 时我一般会上金山词霸确认一下,然而万万没想到我心目中的学霸也有脑子瓦特的时候。

看 RSS 的同学们我好同情你们,我不会在正文里解释金山词霸把标题翻译成什么了的。

..

想起了之前1964年中苏边界谈判时的一个笑话——因为苏联翻译对中文速记完全看不懂以至将“作茧自缚”理解为把他们污蔑为虫子,把“得陇望蜀”理解为苏联妄图侵占陕西和四川的领土…… 据说后来外交活动中就很少用成语了。

啧啧,不知道国外的外交人员怎么办呢?西方语言中也有俗语啊,比如“Elephant in room”之类的。

之前在知乎上看过一个问题讲历史上的乌龙外交事件,对两个印象比较深刻,一个是雅典事件(我国的,来龙去脉很长,可信度很高),一个是西班牙军舰因为鸣礼炮不小心把实弹打了出去正中吉布提总统府(没有考证过真实性,但想想段子手们总也不至于为了编段子就制造国际争端吧)。

..

昨天还负能量满满,今天因为完成了预期进度又开心了很多,我还真是善变呐。

负能量满满

最近一直负面情绪高涨,搞不清楚为什么,强烈建议最近不要打开这个博客看了,万一多个病友等将来到了医院一起挤床位你我都尴尬。

讲道理,VXLAN 控制平面的代码都完成差不多了,如果框架靠谱的话(呵呵),填充逻辑往往是比最开始熟悉框架要容易一些的,有兴趣的话你甚至可以去 Vxlan Network Management Plane Implement #701 加以评论,反正又不要钱。

可是就是高兴不起来啊,连写段子都没心情了。

..

今天一天做的有用功约等于零。

从上午开始调一个诡异但看起来很小的 Bug,折腾到下午终于举双手找老同志求助,被轻描淡写地被告知是框架 Bug,已于昨晚修复,只要重拉一下代码就好,给一旁同事发了“欲哭无泪”四个字之后挣扎着收拾心情测试,结果还是发现了类似的 Bug,内心已经被折磨的如钢铁般强硬的我心想这次不能被你轻描淡写的说昨天的我已经 Fix 的 Bug 了,老子这次刚更新了代码,如果发现是你框架的 Bug,要趾高气扬的拍桌子说你看,怎么能犯这么低级错误!

我知道我的心态不对,不过你不用担心什么,在调试了一晚上之后我还是没找到问题在哪。

没办法又去找老同志求助了,还好老同志折腾半天也没找到问题所在,嗯,挽回一城。

最后暂时当作是第三方库的问题先放下来了,老同志说他过几天打算换一个库。

总结下来一天什么也没做,早上总结了打算做的五件事情,一个都没搞定,心塞。

自我评价说划了一天水,立刻被同事接话道——

怪不得这几天上海老下雨,都是你划的水!

..

(more…)

喜大普奔

看到题图,你不会以为让我喜大普奔的是老板黄鹤带着他小姨子跑了吧?

图文没有任何关系。

对于像我这样爱岗敬业的程序员来说,能有什么喜大普奔的呢?

无非就是代码终于跑通了。

..

(more…)

西湖的泪 我划的水

2016 年的 12 月,MatheMatrix 推开了新公司的大门。

令他万万没想到的是,在这里,他将面临命运的转角,

让他觉得可以为之守护一生——

妈蛋一个感觉永远都写不完的代码。

..

每天早上,当我睁开眼完成哲学三大终极问题——

  • 要不要现在起不起床?
  • 要不要等下一个闹钟?
  • 要不要带早饭到公司吃?

之后都会感觉今天,对就是今天,我就可以向主干提交代码了!

然而每天晚上,在和代码斗争了一天屡败屡战后我都会感觉,明天,对就是明天,我就可以向主干提交代码了!

显然上帝在为我编剧本的时候不小心使用了递归,而且没有正确的设置边界。

..

(more…)

迷失在代码里

迷路大概有两种,一种认识到自己迷路了,一种是迷路了还不知道。

在写删除部分逻辑的测试代码以前,我大概就是后一种。

编写删除代码在一定程度上比创建的部分还麻烦——得益于老同志奇技淫巧的 Cascade 框架,删除逻辑不是类似于你自己心里计划的那样先删什么,再删什么,最后删什么。而是通过前面说的集连框架,系统会自动分析依赖关系,形成一个树形结构自动逐个剪枝。

这种手法似乎有一个很厉害的名字叫做依赖反转——以我贫瘠的设计模式知识,这是我能想到的最接近的词汇了,通过这种手法,理论上讲上层资源在删除时不需要过分考虑底层细节及其依赖关系。

然而实际应用中,有一个问题却很棘手,就是扩展资源。

考虑你有一个已有资源叫做 L2Network,现在你打算发展一个新的资源,比如叫 L2VxlanNetwork(以下可能简称为 Vxlan),而且由于这种资源的特殊性,它还有一个父资源叫做 L2NetworkPool(以下可能简称为 Pool),现在请问如何优雅的撰写你的 Cascade 代码,需要做到能自动级联删除底层资源 VM、L3Network、Router 等,并在上层资源变化如 Zone 被删除时相应自动删除掉。

除了删除,还要考虑 Attach、Detach 操作,这两个操作总会在 Pool 上被执行,我们目前不允许它在 L2VxlanNetwork 上执行。

另外由于代码的设计原因,每一个 L2VxlanNetwork 底层其实会对应一个 L2Network,同样每一个 L2VxlanNetworkPool 也会在底层对应一个 L2Network,理论上来讲如果是删除底层的 L2Network,那么其对应的 Pool 或 Vxlan 也会被删掉。

Attach 和 Detach 类似,但除了数据库操作,显然还有额外的数据平面动作,因此又有些不同,这两个操作只在 Pool 上做是有效的,在 Vxlan 上做没有意义。

面对这一坨逻辑和已有的框架,如何能既让我写的开心,又不让后面维护代码的人不是特别苦逼?

..

(more…)

真的勇士, 敢于直面 GFW

这篇文章的标题的 URL 这么敏感,真怀疑会不会一语中的。

故事是这样的,最近遇到迁站以来的最大危机,简单的说有四大问题——

  1. 朝阳群众向我举报偶尔会刷不出站点,可能反复刷新就好,我也发现了这样的情况;
  2. 海淀网友向我举报邮件回复通知有时没有回复的内容;
  3. 西城大妈向我举报长标题的邮件回复通知可能会在邮件标题会出现乱码;
  4. 丰台劝导队向我举报这个站的 Landing Page 太丑了。

我们忽略掉第一到第三个问题,毕竟颜值才是主要矛盾。

不过颜值这种东西不重新投胎很难有所改观,所以打上 Wont’t fix 标签,嗯,Bug 解决完了,真好。

不对!醒醒!我不是在给公司修 Bug!

好吧,重新审视这几个问题,其中 2、3 均与我目前在使用的插件 Comment Mail 有关,我就知道这外国人写的插件用在中文站点十有八九就是个坑比。

但是那么复杂的插件 Debug 起来很麻烦啊摔!

所以还是先尝试解决让朝阳群众生活在水深火热的站点偶尔无法打开问题上,毕竟鲁迅先生说过:“如果一个访客无法打开你的站点,那么他就会离开你的站点。”

(more…)

灵性的代码

又是雨天,不过不知是气温上升还是逐渐适应,相比上个月的雨天感觉舒服很多。

小区里花很多,在雨里显得也很好看,只是可惜拍了一堆废片还是别拿出来现眼了。

..

下午出去走到了农贸市场,看到有卖相颇好的大黄鱼,可是一盘算已是周末,晚上又不宜多吃,工作日晚上我一般有不回家吃饭,买了只能等到下周啊,下周还是个单休,最终作罢。

晚上本没怎么想吃饭,谁知5点多不知哪家的炒菜香味在屋里辗转反侧余音绕梁,一下子就饿了,有厨艺好的邻居简直是一种酷刑,以后周末饭点时间估计得外出走走避避风头了。

..

难得休息两天彻彻底底地荒废掉了,还好我想得开而且客户很给力——

我自己测试代码明明没有调通,客户却很开心的在微信群里报喜说他们已经从我的仓库里拉下代码跑起来能用了,真不知道是我的代码比较有灵性懂得家丑不可外扬,还是客户那里有一个神人能在上游不通的情况下把下游跑通。

总之上周有些浮躁效率偏低,新的一周又要努力了,我还念念不忘去玩 70-200 小小白呢!

虚度的一天

昨晚和朋友聊天居然聊了 N 个小时,N 是多少当然不能告诉你们。

所以晚上理所当然的晚睡,但早上还是在平时上班的最后 Deadline 起床时间左右自然醒,看着窗帘外面隐约的光线机智如我已经判断出又不是一个蓝天白云的天气。

从到上海一来很少遇到特别好的天气,以至都想去上海以外走走了,手上数个多年签证但重复利用率很低,简直太浪费了。

..

这周后面常常很晚回家,今天白天几乎没有出去,晚上就又跃跃欲试想跑步了。

数据基本是稳步提高了,虽然距离最好的状态还有差距。此外相比雨天跑步的愉悦,这种天气和空气质量只能说不好不坏。

跑完步去全家买了杯酸奶,注意到超市有卖轩尼诗 V.S.O.P,想起上一次喝时的情景,恍如隔世。

又考试

这周已经多次违背我低调的原则,之前提过的培训有三门课,今天下午考了第二门,凭借阅卷老师宽松的标准和我在考卷上没理也能写三分的能力顺利拿了个满分。

明明是学沫却被炒作成学霸的样子好烦。

最近好像很流行“好烦”这个词,和人聊天不知为何经常出现,好烦。

..

昨天确认代码 load 起来了,今天却又发现返回值全是 null,简直无话(fu)可(ck)说。

我们的代码是 groovy 这一动态语言写的,调试时提示我没有提供我明明写了的必填参数,冥思苦想猜到可能是因为传过去的参数是 null 类型的空值,打断点看发现果然用到的上一个对象简直就是假的,里边所有值都是 null。

发给同事看瞬间将其戳中笑点。

..

(more…)