分类目录归档:life

回顾2016

看着小家伙一点一点的变化,从7个月开始无意识的冒出一些词语,到慢慢懂得叫爸爸妈妈,以及说出更多的词语和你不知所谓的句子。从爬行到第一次走路再到满地的跑,成长的过程中总会带给你一些惊喜。

我的境况没有什么变化,除了徒增一丝中年人的焦虑。生活本身就有诸多问题要去面对,处在这个时代的洪流中,被冲击的无招架之力,或许稍一松手你可能就错过了搭乘末班车的机会。

简单而耐用的物件

这款型号GW-5600J的G-Shock电子表是我六年前买的,从未换过电池。当时主要为了在跑步时便于计时,所以选择了这款功能性手表。在这只手表之前我也带过好几块其他类型的,时间大都不长,要么被撞坏表壳、要么机芯不够稳定(当然也都不是太好的表),这款表算是佩戴时间最长的一款。尽管外形比较丑陋,但很耐用,陪我跑了很多次马拉松,汗水的腐蚀性对它影响也不大,跑完步用水冲一下就好。

最近表带坏了,我在犹豫是否换成一款智能手表,但无法接受智能手表的电池仅能维持几天时间。相比之下我还是更愿意这种简单耐用的传统物件。

继续写点什么

最近这段时间没有更新blog,主要是想说话的欲望不强烈了。不过一旦写东西的频率降了下来,就会惯性的更不想写。为了避免这种状况,强制在月底要求自己写点什么,哪怕只用十分钟,哪怕写的内容毫无价值,聊胜于无。

要说起来可写的东西还是有的,去年年底做活动的时候还是发现了不少问题的,在对问题的定位上,写了一些脚本,大概总共1000行左右的一些shell函数,对于诊断一般性的问题基本够用了,有需要的话,我可以把这些脚本开源出来。

在对这些问题的诊断脚本化的过程中,把strace仔细研究了一下,有很多问题都可以通过strace来诊断,比如说要诊断http请求header里的信息,用tcpdump你没有root权限没法玩,strace这个时候就灵光了。再比如说查看你的java进程是不是在频繁的创建socket连接(短链接),调用了哪些远程dubbo接口或远程http接口,执行了哪些sql或redis命令,读取了哪些资源文件等等。

回顾2015

意识到今天是2月最后一天,已经快2个月没有更新过博客了,这篇2015年的总结应该写在一个月前,却被拖延到了现在。

1)变化

这一年最大的变化是小家伙的出生,没有什么能比一个新生命的诞生带给人更大的惊喜了。感谢很多给予帮助的人。

2)写作

在Blog上投入的精力减少很多,质量也下降很多,不过这不是我最在意的,持续下去才是最重要的,不要中断。

3)翻译

《Functional programming in scala》是老高没时间然后推荐出版社联系到我的,我和巨石承接了这本书的翻译,因为上半年工作太忙,几乎没有进展,翻译主要的进度是在七八九这几个月。同事曹宝在后边也参与了进来,在十一假期后我们完成了翻译的初稿。翻译的过程让我很难受,发现自己不仅是英文不好,中文也同样不好。尽管是技术书籍,但翻译它不只是个逻辑的事儿,而是一个对综合能力有很高挑战的事情,加上完美主义者的纠结,让人痛苦不堪。

4)电影

从豆瓣电影的统计来看,这一年看的电影量只有去年的一半,省出来的时间被其他事物占据了(主要是翻译那本书)。要说留下深刻印象的电影,一部是阿根廷的《蛮荒故事》,另一部是有关发现Higgs粒子的记录片《粒子狂热》,这部记录欧洲核子研究所的科学家们发现Higgs粒子的过程非常值得一看。

5)跑步

上半年参加了一次北京金山岭长城越野马拉松,第一次参与这种越野性质的马拉松,异常辛苦,当然收获的风景也是与付出成正比的。下半年的目标没有完成,体重也有所反弹。

6) 阅读

去年定下过一个计划是,严肃的对待shell脚本,把《ABS》这本书以及Bash4.0文档看一下,算是执行了一半吧,ABS我打印了一本中文版,不是很仔细的看过一遍。年底的时候也有一些同事或网友让我推荐一些书籍,之前列过一个Java/Scala程序员书单,其实还没列完,也还没写评论,后续再补充吧。其实这一年买了很多书(包括技术和非技术的),但阅读的少,大部分都还没怎么看,不好意思随意推荐。

7) 其他

年底在北京参加了一次架构师大会,分享了《Scala在挖财的应用实践》,也认识了一些同行,了解了一些业界状况。

12月份也在杭州组织了华东地区scala聚会,这次由九言科技(In app)提供的场地,可惜活动刚开始就因为公司事情赶回去处理了。

相关阅读:回顾2014

ArchSummit北京2015小记

这次回北京参加架构师大会有不少收获,刚忙完手头的事情,趁着现在还有一些印象,赶紧记录一些东西。本来是我们的VP陶朱推荐架构师给Infoq时,扶墙老湿正好不能参与,我便代表挖财去分享一些我们在使用Scala方面的经验,其实也有部分私心,除了为公司招聘能提供一些技术方面的影响力之外,我和同事翻译的《Functional Programming in Scala》已进入尾声,也顺道插入一些广告。

组织方对内容要求还是挺高的,我的PPT被打回了三四次修改,开始时scala内容占比太高,架构内容太少,与这次大会主题契合度太少,希望更加偏工程实践一些。后来又裁剪了调整了一些顺序和内容,以及字体版式和一些广告嫌疑等。大会开幕时崔康说所有讲师的PPT平均修改都在三次以上,才知道不只是我个人这样。

我分享的《Scala在挖财的应用实践》,编辑已经根据录音整理放到了infoq网站上了,可以访问这里,内容在记录上有一些小的错别地方,但大致接近。视频和ppt要过一段时间由infoq放出来。

这次大会最大的感觉是又见到了很多前阿里同事。碰到了淘宝无线端的鬼道、钉钉的一粟、李振宇、邱硕、haojingshun、mengjia,还有几个离开阿里后多年未见的同事,以及一些新加入的没有打过交道的。大会的前一天晚上,组织方安排了一个晚宴,让讲师们相互认识,除了新认识了几个小伙伴,主要跟以前也在平台技术部现在苏宁担任安全总监的季虎,以及twitter的王天聊了一会儿。季虎说他当年也受Eric影响,对scala深感兴趣,一直潜伏在Scala的旺旺群里不发言。想了解一下我们在公司里面现在怎么用的,然后我说我们一块找王天聊聊,因为twitter是scala技术的标杆,看看他们现在的一些情况。

王天在twitter负责搜索,他的团队并没有用scala,主要用java,他是在google工作五年后去的twitter,他说在google内部有各种强大的工具或系统,你会像被婴儿一样被保护起来,等离开后到了外边的公司发现跟google可能差了至少五年。他们在twitter重写了lucene的存储,这在他第二天的第二个演讲里有详细的介绍,然后聊其他团队对scala的依赖依然是比较重的,并没有像linkedin那样计划回归到java上,但在做一些统一风格的事情,他们内部有两种风格的scala,一种是原教旨主义的,另一种是ruby风格的scala;聊下的大多数产品基本都在他们的github上有看到过,似乎没有特别新的东西冒出来。然后聊起一些工具时他大力推荐了一下他们所用的pants,他们是从maven,sbt然后到pants这样的一个过程。这个工具也是一个从google出来的工程师做的,他们的代码管理也是受google的影响,采用单个repo,这在他第二天的演讲里举到一个例子就像一个社区里大家相互之间如果只是隔着一个小街道,可能很容易相互串个门喝杯咖啡(看看别人的代码,顺便提个issue),但若是隔着一个高速公路则会形成很高的心理成本。总的来说twitter很多行事风格跟google很像,都是各种工具会在内部自成一派,不一定选用开源界的东西。

另外这次也见到了另外一个大牛袁泳,他在csdn上的博客是负暄琐话,这个名字来自一本张中行的杂文随笔《负暄琐话》。早些年接触函数式编程时看他的博客非常过瘾,虽然很多不太明白,但还是开阔很多视野,可惜他后来不再更新博客了,问了一下他说是因为后来看到很多别人写的很好的东西,觉得没啥想写的了。袁泳是个阅读量或知识储备很大的人,他第二天做了一个演讲是《再造轮子之道》,理论与实际结合得方式讲的非常精彩。当然我也听到坐在我傍边的两个小伙子说这个话题太泛谈论内容有些水,心想其实讲到的内容细节量相当多,但能吸收多少就是听者自己的事情了。后来他还分享了一个《Uber的流处理系统及实践》也同样有大量细节,内容非常不错。

第二天中午吃饭的时候跟邱硕在餐厅聊了会儿,问他和贺贤懋是否还在维护cobar,他说基本没有精力。他调到了成都的支付宝,这次来分享支付宝红包在双11的挑战,成都的研发人员并不是很多,相比杭州做的业务要边缘化一些。

这次大会的其他一些见闻后续再补充。

下午的一出戏

吃过药后身体有些发热,虽然还有很多事情要做,脑子完全不在状态。晚上去吃饭的时候,看到一个穿着戏袍的人从雨中穿过。在等饭的时候,想起几年前在滨江所住的小区居民多是当地农民回迁,他们依然遵循自己的习俗,每当有人去世时会请来道士做法;甚至也会请人来唱戏,就在小区的空地上搭起一个帐篷,摆上一些椅子,请一两个唱戏的和几个吹鼓手,所唱的可能是越剧,不太能分辨。有一次凌晨一点回来,看到帐篷里仍有灯光,一个男子,穿着孝服坐在那里,可能是在为死者守灵。

我对戏剧没有特别的兴趣,但是对小时候家乡的社戏却一直有印象,那是一个很大的舞台,用来唱戏或放电影(文革的时候也用于开大会)。一般要唱戏时也是一些节日,通常是非常热闹的,挤满了人。当然小孩子去主要是为了让大人给买一些吃的。我从未听明白过他们唱的内容,记忆中八十年代初期唱戏的时候就已经将字幕通过投影给播放出来了,是在剧幕的一侧竖绑着一块布将字投在上面的。九零年去了城市,再没有看过社戏。只是陪母亲在看电视时看过几部以戏曲形式改编的电视剧,那几部似乎都是黄梅戏。

在杭州和宁波的郊区,这里的老人们仍保留着看戏的传统,不过这份传统恐难以延续了。陈明章有一首歌叫《下午的一出戏》,多年前初听的时候虽然听不懂闽南语讲的什么内容,却被那股哀凉所侵袭。后来才了解所唱的大意是说“下午的时候下了一阵雨,在唱陈三五娘这出戏的时候看戏的伯伯都走了,没有一个人看戏,台上锣鼓声声,台下无人叫好。”

2015年的金山岭长城马拉松

上个周日(4.19)参加了金山岭马拉松(半程),这是我参与过的难度最大的一个马拉松,用了4小时59分钟才完成,比2012年参加过的杭州全程马拉松用时还长。21公里路程里约三分之二是在长城上的,在长城上的上坡阶段基本是手脚并用,真正是“爬”长城。

当然这种巨大的艰辛也是值得的,金山岭长城的游人很少,山谷里的桃花,梨花,正盛开着,景色非常美。

最近看过的电影(11)

推荐几部最近几个月里看过的还不错的电影

《布达佩斯饭店》

比较多的隐喻在里面,画面风格鲜明独特。强烈推荐

《醉马时刻》

片名里的“醉马”是指,伊拉克边境的库尔德人在用骡子托东西的时候为了让牲口有更大的力气,在喂食的时候参入了酒精。这部纪录片是在天猫魔盒上看的,看到一半的时候网络出现问题没有看完,故事很打动人,希望再找时间看完。

《禁忌游戏》

一部很老的法国黑白电影,可能这部电影里的配乐《爱的罗曼斯》更被大家所知,在吉他流行的年代,这个乐曲出现在各个教材上。这部电影让我想起《萤火虫之墓》,通过小孩的视角、讲述了战争对普通人的影响。挺哀伤的一个故事。

《爆裂鼓手》

我以为是另一个版本的《黑天鹅》,结果不是;这类不疯魔不成活的故事我很喜欢。推荐。

《楢山节考》1958年版本

很早知道这部电影,觉得残忍一直没敢看,直到去年年底才看。人性和道德是随着生产力不断进步的,人类的残忍终抵不过自然法则的残忍。

《模仿游戏》

不必多说了,对程序员来说这部电影不可错过。

回顾2014

1) 变化

这一年我换了工作,10月份的时候离开了阿里巴巴加入到了现在的公司挖财,在阿里工作了五年半的时间,发生了很多事情,个中滋味一言难尽。在阿里最后的一年半时间里是在中间件团队负责应用容器,这是带过的团队里技术能力最强的一个团队,祝愿大家未来对业界做出更大的成绩。

离开阿里偶然因素和必然因素都有,到了一个新的阶段,该去做一些新的事情了。对于加入挖财,最大的原因是afoo;曾考虑过是否该回北京发展,当前的际遇和家庭的因素又决定了仍留在杭州。

2) 写作

写了一百篇左右的blog,基本完成年初预设的目标。不过这一年的精力大部分是在tomcat上面,而不是scala上(实际上在阿里的时候我并没有太多机会在线上使用scala,到了挖财之后,scala作为了后端的主要开发语言之一使用在核心业务上)。在内容上除了技术方面的,也记录了生活方面的一些东西,有考虑过是否把这两方面分开,但维护2个blog太分裂。

后续的blog可能会有所下降,主要是精力的问题,当前的工作更紧张一些。但不会放松写东西的计划,写作的过程是梳理逻辑并反思的过程;这个过程对我并不好受,耗费的精力和时间常常超出预期,内容表现出来的和背后的构思和验证相比只是冰山一角,很多东西仍放在草稿箱里。可自己又有些喜欢这种自虐,写作的过程像是跟自己对话,这是一种很有趣的体验。年少的时候容易在意别人对你的评价,不愿轻易表达;年纪大些对外部声音的在意少一些,写作其实是个很“自我”的事儿。

3) 旅行&跑步

年中的时候随团队去过一趟桂林,然后在十月份的时候开车去过一趟浙西的山区

这一年没有参与任何马拉松,上半年的时候绕着西溪湿地跑步几次,7月份的时候身体做过一个小手术,之后没有运动过。

4) 电影

这一年的年度电影无可争议的是《星际穿越》了。在影院看完之后有一种巨大的、透彻心扉的孤独。是我看过的科幻电影里最高级别的作品了,超越了几年前《普罗米修斯》给我的震撼。我很难用言语准确表达对这部电影的体会,它的很多画面、配乐、对白、确实常常在我脑海里回映,翻出在Day One里的一条日记:

晚上11点的高速公路上车很少,数公里前的尾灯,像是快要熄灭的炭火里的几颗火花,只是这几颗“火花”没那么跳跃,让你意识到还没那么孤独。倘若遇到雾霾天气,远处的天空一片漆黑,似乎正在进入一个“黑洞”,常常会想起《星际穿越》里老教授在送他们的飞船起飞时朗诵的那首诗:Rage, rage against the dying of the light.

5) 其他

五月份在上海,组织了华东地区scala爱好者聚会,下半年在杭州的聚会没有组织,因为afoo、我、聚石在下半年都离开了阿里,到挖财后事情太多没法顾及。今年打算继续组织一下。

十二月份去浙大听了一场docker的交流会,docker的发展速度实在太快。最初了解到docker的时候,它的版本还很低,刚开始我还把它当作一种虚拟化技术。那个时候正在阿里负责应用容器,经常遇到一些疑难杂症需要我们诊断。所以我们考虑在Ali-tomcat里集成了一些工具和脚本来方便诊断。但有些问题的诊断并不只是jvm层面,可能涉及到os,网络等,需要一些其他工具,而通常开发人员的权限是受限的,比如我们需要用systemtap 这样的工具,得首先找特定的sa(还不是普通的ops)在这台机器上安装systemtap,然后才能验证我们的脚本。跟sa/ops打交道的过程是有些耗费时间的。比浪费时间更糟糕的是,可能程序员因为觉得这种协助或沟通耗时,抑制了尝试去解决这些问题的决心,直接重启或破坏了环境,让现象隐藏起来。当时发现在应用容器层面难以完美解决,了解docker后发现它是一个更“大”的容器,正满足我想要的。

6) 期望

2015年会很忙,不敢做一些空头计划,在技术上希望把Bash脚本语言认真的学习一下。以前从没有严肃的对待过这门语言,最近写脚本比较多,发觉bash的很多特性都不怎么了解。以前写的脚本里也是低级错误满天飞,比如exit -1这种写法。具体来说,今年要把《ABS》这本书以及Bash4.0的文档认真看一下;如果有精力的话,再看一下《The AWK Programming Language》这本书。

最大的心愿是老婆在今年生产顺利,家人平安。

相关阅读:回顾2013

被急性咽炎困扰的一周

1) 被急性咽炎困扰的一周

最近的一周多被急性咽炎引发的头疼所困扰。起因是某天晚上去一家西安面食的馆子吃东西,那天点了一个套餐:一个肉夹馍、一个凉皮、一罐冰峰饮料。冰峰是西安当地的一种饮料,以前没有喝过;味道跟芬达有些接近,也是一种碳酸性饮料。正是这罐饮料导致了喉咙有些不舒服,当天晚上就有些轻微的头痛。然后在第二天开始严重,并一致持续了一周左右。这中间的周末在宁波,晚上头痛的无法入睡,不得不在晚上12点去医院输液到凌晨三点,头疼在第二天被抑制住了;不料回到杭州后隔一天又发作。我从没料到咽炎也会引发神经疼痛,嗓子的痛倒不显著,半侧头疼的才难受。这几天基本上每天只能吃一些面包和稀饭,体重也轻了5斤,到今天总算恢复到了头痛基本不怎么发作,只有喉咙还有些微痛的轻度状态。

2) 阿喀琉斯之踵

每个人都有自己的”阿喀琉斯之踵”,有些人对气味过敏(桂花飘香的时候对他反倒是灾难),有些人有颈椎病,还有些人可能有腰椎的问题,对我而言则是喉咙和肠胃。曾有过很多次因为喝果汁或饮料导致喉咙发炎,而引起感冒。早先在发觉这个规律前,甚至怀疑到底是因为先是嗓子的问题导致感冒发烧,还是因为感冒在前,喉咙发炎只是感冒发作后的症状。经历的次数多了之后,清楚了自己状况,对于普通感冒没那么容易被传染到,喉咙却很敏感,一些刺激性的食物或过甜的饮料都可能引发不适。消化系统也存在对某些物质的抵触,比如喝牛奶后拉肚子的概率就很大。喝过咖啡后,短时间内吃水果或辣的东西也一定会拉肚子。甚至有时候喝茶也会引起拉肚子。不过这方面周围也有很多人跟我相似。

3) 时间管理与身体的管理

时间的管理本质应该是精力的管理,精力的管理其实又是身体的管理。曾经花时间关注和学习过一些时间管理方面的技巧和经验,执行的并不好,常常虎头蛇尾。或许是没有找对适合自己的方式。回顾自己效率较高的时候,也是身体状态比较平稳的时候(不是最亢奋的时候,亢奋的时候大脑太过活跃,非常容易发散)。保持身体在一个理想的状态才是时间管理最核心的东西。身体的管理需要克制,不论时对食物的克制,还是对结果的克制,都非常重要。