简单的幸福
前段时间,雯雯的舞蹈课开公开课,我去参加了。流程我都知道,大概就是老师会让小朋友们展示一下近期学的动作、舞蹈,然后还有亲子互动的环节,我参加过好几次,都轻车熟路了。
课上,老师带着小朋友,把中国舞二级的基本舞蹈动作大致都过了一遍,然后开始跟着一些音乐跳舞蹈。其中一首歌是《听我说谢谢你》,很经典的一首歌。这群五岁的小朋友,跟着音乐起舞,动作并不复杂,多数是手部动作,展开双臂,抱一下肩,比个爱心,诸如此类的。我就这样看着,看着,不知为何,突然鼻子一酸,泪水忍不住要夺眶而出。在那一瞬间,有一种无法言表的幸福感向我袭来。在那一瞬间,这群孩子的脸庞天真无比。在那一瞬间,我觉得看着这群孩子健康、快乐地成长,就是世界上最美好的事情!
当然,眼泪我是拼命地忍住了。现场那么多家长呢,多不好意思啊。我就默默地看着这群孩子,看着雯雯,她有时也偷偷瞄我,我就趁机给她个微笑,给她竖个拇指。加油,宝贝。谢谢你,感谢有你,世界更美丽。
送给你小心心
送你花一朵
你在我生命中
太多的感动
你是我的天使
一路指引我
无论岁月变幻
爱你唱成歌
听我说谢谢你
因为有你 温暖了四季
谢谢你 感谢有你
世界更美丽
我要谢谢你 因为有你
爱常在心底
谢谢你 感谢有你
把幸福传递

Life Release 2019
36 本书
详见 2019读书总结
63 部电影
这个数字竟然和去年一模一样!
最喜欢的两部,都是老片子了。2006的《人类之子》,轻易就描绘出一个末世、极权、绝望、疯狂的世界,带着很多寓意。开车和巷战两个长镜头简直了!1957年的《控方证人》,阿婆的本子就是牛逼啊,然后玛琳·黛德丽惊为天人!

2019读书总结
- 虚构
- 推理、侦探:《体育馆之谜》,《第三颗子弹》,《13·67》,《小城》,《推理时钟》,《大陆侦探社》,《漫长的告别》,《坏女人》,《死亡飞出大礼帽》,《毒巧克力命案》
- 其它:《人类灭绝》,《人不过如此》,《斯坦布尔列车》,《幻影书》,《玫瑰的名字》,《废土》,《海边的卡夫卡》,《当我谈跑步时,我谈什么》,《动物园》,《人鼠之间》,《浮世画家》,《无罪的罪人》,《黄铜判决》,《斯通纳》,《黑暗中飘香的谎言》
- 非虚构
- IT、技术:《奈飞文化手册》,《人件》,《Web性能权威指南》
- 其它:《禅的故事》,《上帝掷骰子吗》,《活下去的理由》,《冷暴力》,《植物知道生命的答案》,《吃的真相》,《爱,金钱和孩子》,《大流感》
如果说去年沉迷跑步的话,今年就是沉迷读书了,一共读了36本。今年把一些积灰多年的书读完了,例如《玫瑰的名字》《坏女人》和《吃的真相》。想来真对不起这些书,买来后就一直躺在书架上,没怎么动过。来年也希望继续把尘封在书架上多年的书再啃掉一些。
读的书中,实体书占了接近一半,其中多数是从图书馆借的。除了南沙图书馆,今年也跑了两趟广州市图书馆,主要是找一些绝版书(《死亡飞出大礼帽》《毒巧克力命案》),或者太贵、太厚的书(例如《大流感》,又没有电子版)。第一次去广州图书馆,发现地方很大,书很多,然后,有些书,应该是从来没被借阅过的,像《大流感》和《证词》。《证词》原版应该是不错的,因为作者写出来《无罪的罪人》这么精彩的书,可惜啊,这版《证词》的翻译实在太差了,读了几十页后只能放弃。而《大流感》则很不错,让我明白到,医学虽然越来越先进,但也并非那么万能。这么好的书,就静静地躺在图书馆的书架上,从来没人去翻开过,可惜,真可惜。
《人鼠之间》应该是今年最让我惊喜的一本书。薄薄一本,两小时读完,文字、故事都很朴实,就像一个童话,但却让人十分感动,让我想到《绿里奇迹》和《雨人》。所谓伟大的作品,就是这样的吧,无论时隔多少年,都能给人以启发。后面会继续找约翰·斯坦贝克的书来读。
《无罪的罪人》是近些年读到的最精彩的小说之一,既有格雷厄姆·格林的细腻、诚恳,又有异常精彩的法庭戏,让我爱上了律师、法庭题材的故事,于是紧接着找了《黄铜判决》来看,然后也喜欢上了迈克尔·康奈利。同样很精彩的还有年初读的《人类灭绝》,很难想像,此书竟是一位日本作家写的。除此之外,《玫瑰之名》竟然读完了,我自己都有些不敢置信,结局催人落泪。同样好看的让人发抖的还有《幻影书》,保罗·奥斯特,相当特别、有才华的作家,会继续追。
侦探推理方面,《13·67》《小城》和《大陆侦探社》都挺喜欢的。《13·67》是我读过的最好的中文侦探推理小说,没有之一。繁体、竖排的书,我是第一次读,确实不太习惯,读着有些累,读的速度也比普通的书要慢一些。书中的犯案、查案手法十分高明,稍有不足的就是一些动机稍显牵强。陈浩基真是位人才,《13·67》完全可以拍成精彩的警匪片啊。《小城》是我读的第一本布洛克,很黄很暴力,像雷蒙德·钱德勒和奈斯博的混合体。《大陆侦探社》,真是冷门佳作,机灵小胖侦探,蛇蝎美人,冷血杀手,时不时来场飞车、混战,偶尔抖个机灵。改编成电影应该很好看~
IT、技术类的书,今年依然读的太少。年初读的《奈飞文化手册》,是近几年给我最多启发的IT类书籍了。“为啥 Netflix 这么牛逼”,读完本书后就能知道部份原因了。我的一些想法,跟书中的建议不谋而合,例如“绝对坦诚”,只不过说着容易做起来难,真要在公司中推行这样的制度,谈何容易啊。
明年,依然没啥具体的读书计划,依然希望多读一些IT、技术类的书。《如何成为技术管理者》《DevOps实践指南》应该都是很好的书。
跑步,椭圆机和膝伤
今年四、五月的时候,发现跑步几公里后,右膝刺痛。而且跑完后第二天走路时都还有轻微的痛感。以前从没出现过的,想说是不是跑的太多了,休息了两周,再跑,还是痛。隔了一个月再跑,还是一样。不行,赶紧去看医生,拍了片,医生说没发现啥问题,怀疑可能是膝盖软骨有些磨损,建议停止运动两三个月,再看看情况。
从大学时开始跑步,到现在十几年,自认为体重不算重,也踩着一双几百块钱的专业跑步鞋,跑量也不算非常多,怎么就膝盖中箭了呢?我百思不得其解。而且,从去年底入手椭圆机后,我跑步的次数减少了挺多的,而是坚持每周两次椭圆机,每次半小时。去年沉迷跑步的那段时间,经常都是每次8公里、10公里的,多的时候一周跑四五次,但都从来没出现过不适。
看完医生的那两三个月,我把跑步、椭圆机都停了。正好是夏天,周末时带雯雯到球场去玩,看着那晴空万里的天气,看着那熟悉的跑道,我那个心痒啊,第一次体会到想跑步但又没法跑的痛苦。甚至会担心,会不会我余生都没法跑步了(上网查了膝盖软骨磨损,可大可小)?心情懊恼不已。想到《REAL》,想到户川清春,才发现,确实,当你失去一样东西之后,才能体会到它的珍贵。
最后一次赛跑,在蓝得让人觉得痛的天空之下。 – 《REAL》

休息了两个多月后,在八月份,开始重新跑步。放慢速度,小心翼翼地试着跑了三、四公里,不会痛了!那一刻简直如获新生。
后面我想了想,到底之前是什么原因导致了膝伤呢?思来想去,只能是椭圆机了。我的椭圆机是迪卡侬的,9公斤飞轮,15档阻力调节,我一般是调到13档,踩半小时。踩椭圆机过程中并没什么不适,出一身汗,还挺舒服的。但之前我暂停跑步一个多月,但没停椭圆机,结果再次跑还是膝盖痛。而把椭圆机也停了之后两个月之后,膝盖的症状就消失了。所以,非要找个原因的话,我相信是踩椭圆机时阻力调的太大了,给膝盖的负担太重导致的。
网上总说椭圆机不伤膝,这次的经验再次验证了我的一个想法,理论和实践总是有一定距离的,很多事情,亲身去体验后,才能发现事实,才能发现适合自己的。
现在还是会坚持运动,但强度和时长都比较佛系就是了。跑步每周一次,每次五、六公里,配速尽量控制在六分半左右(有时还是不自觉地提了速,跑到六分钟内。。。)。椭圆机也还是试探性地踩着,每周一次,阻力8或者9,每次20分钟。慢慢来吧,要运动,更要健康。
那些年,玩过的炒鸡好玩的单机手游
住在郊区的一个成本就是上下班通勤时间太长了,从南沙到市区至少要一个小时,每天上下班来回,在地铁上的时间合计超过一个半小时。以前在地铁上比较多是看新闻、玩游戏、看漫画,近几年则是看 Kindle 比较多。回想智能手机刚兴起那会儿,有不少手游,虽然玩法简单,画质一般,也没啥社交功能,但是一次次陪我度过上班下班的时光,在忙碌的工作、生活中带来简单的快乐。谨以此文纪念一下吧。
这里列出来的,是一些相对冷门的、炒鸡好玩的单机游戏。有多好玩呢?这么说吧,以下任何一款游戏,每过一两年,我都有冲动拿出来重新通关(或者被虐),就这么好玩!另外一些比较热门的,例如纪念碑谷,地球人都知道,就不提了。
Abduction!

这款游戏实在太简单了,控制你的牛(或其它角色)向左或向右移动,一直往上跳,留意避开障碍、取得宝箱,跳的越高,分数越高,就这样,没了!没错这就是手机版的“是男人就上一百层”。但这么简单的一个游戏,也曾吸引我玩了一段时间,因为,它控制左右移动的方式是重!力!感!应!重力感应啊朋友们,在智能手机出来之前,谁曾想过居然还可以这样玩游戏!当年在我的 摩托罗拉 Milestone 上,这款游戏应该是我最早接触的手游之一了。
Unblock Me

类似华容道。类似的手游一大堆,但这款是我比较早接触到的,画面还算精致,各种难度都有。难度上去之后需要一定的推理、想像能力,消磨时间佳品!
Sudoku

数独游戏千千万,我却独爱这一款。这一款是我玩过的最好的数独游戏,没有之一!它的界面其实一般,不算很精美,但胜在功能强大,铅笔标注什么的都有,并且还关联了数独的解题方法教程!看了这个教程的一些文章,我才知道原来数独是有一些高阶解法的,真是带我走入了一个新世界!
静态方法,mock 还是不 mock,这是个问题
王者 Mockito
不知从何时开始,Mockito 成了 Java 的单元测试框架王者,目前(2019年7月)Github 上 star 数直逼 10K。看看其他的单元测试工具:PowerMock 2K(无疑是沾了 Mockito 的光),easymock 600,JMockit 300。跟 Mockito 一比,好可怜啊,一个能打的都没有。
Mockito 当然很好。我从2012年还是2013年开始用 Mockito,看着它从 1.0x 版本一路走来,今年晚些时候估计会正式发布 3.0 版本。应该有不少人都跟我有类似的体验,从 Mockito 开始接触 mock / stub,一边赞叹 Mockito 语法的简练,一边享受着 mock 带来的单元测试的便利性。总说单元测试应该要隔离外部依赖和实现,很难想象,如果没有 mock,怎么写单元测试呢?
public void test() {
when(userDao.update(any(User.class))).thenReturn(1);
int actual = userService.update(aUser);
Assert.assertTrue(acutal > 0);
verify(userDao).update(aUser);
}
看看上面这个 Mockito 的例子,when(…).thenReturn(…),verify(…).doSomething(),这代码就像人类语言,多么简明易懂!
但是(没错转折来了),已经2019年了,Mockito 依然不支持 mock 静态方法、构造方法等。你可以说,这是设计理念,Mockito 首页上一直写着一句话 “Don’t mock everything” ,认为说应该做好功能代码的设计,尽量避免静态方法等,尽量使你的代码易于测试。这个理念,在理论上没问题,但这么多年的开发经验告诉我,理想归理想,实际上要你去维护的遗留代码总是一箩筐一箩筐的,避无可避。
Static methods, to mock or not to mock, that is the question
单元测试中是否要 mock 静态方法,一直争论不休,网上有 一个 一个 又一个 的讨论,各种意见都有。
我的个人意见,跟 这个观点 一样,我认为测试工具不应该替用户决定什么是好、什么是不好,而应该尽量提供选择,让用户自行判断、采取合适的方案。理论很美好,但实际情况就是,google 搜 “mockito how to mock static methods”,有近15万条结果,可想而知,全世界的开发者在这个问题上浪费了多少时间。
真要用 Mockito 来 mock 静态方法,一般都是结合 PowerMock 使用。这两年 PowerMock 发展的怎么样我不太清楚,但14、15年那会儿我用过 PowerMock,感受就是,真他妈累啊!理论上来说是可以的,但实际做起来就总是各种问题,然后各种 google 、解决,然后又继续各种问题,排查的我都快怀疑人生了。最终我是放弃了 PowerMock 的,这么费力地去结合两个工具一起用,往后很难说还有多少坑。
Mockito、EasyMock 等工具不支持 mock 静态方法,原理上是因为它们都是基于 cglib 的,只能通过创建子类或实现接口的方式去 mock。那除了 cglib ,就没有其他的 mock 实现方法了吗?当然有,修改字节码呀!
近几年最难啃的书——《玫瑰的名字》
翁贝托·埃科
沈萼梅 / 刘锡荣 译
上海译文出版社,2010
周日午后,我坐在客厅沙发上,第四次翻开《玫瑰的名字》,暗下决心这次要读完它。然而,我心里并没底,隐约能预见到,我读了100页,然后合上书本放回书架,跟自己说不行实在读不下去了下次再来吧,一如之前的三次一样。所以,当两周之后我读完了这本书时,我的第一感觉就是,好神奇,竟然读完了!
一句话总结,《玫瑰的名字》是一本难读、让人感动、好看的发抖的书!
《玫瑰的名字》,绝对是我近几年读过的书中,最难读的一本。原因之一,是书中讲述了大量中世纪、宗教、历史相关的知识。威廉和其他人讨论宗教、信仰问题时,那大段大段的文字,看的人都快精神错乱了。有时我简直怀疑,埃科是不是故意写成这样的,毕竟,这可是写出《带著鲑鱼去旅行》的埃科!难读的另一个原因,是书中人物、关系、阵营、历史也复杂交错,还夹杂着各种文学、药学、符号、密码、建筑等等信息和理论,真是一锅大杂烩,让人难以理清思绪。
为什么我会找这样一本书来读呢?其实是在和菜头那里种了草,和菜头说,他读过太多故事了,以至于翻开任何一本书,总有一些熟悉的、重复的地方,但埃科不一样,总能给人惊喜。和菜头的话让我想到朴赞郁。作为一个喜欢看电影、观影量不小的人,不少电影在我看来都了无新意,但朴赞郁不同,从复仇三部曲到《蝙蝠》、《雪国列车》,他的电影和故事总是那么新奇。而读完《玫瑰的名字》,我完全认同和菜头的说法,埃科真是很有趣的一个人,而且上知天文下知地理,强大无比。
《玫瑰的名字》的结局,看得我几欲落泪。屹立数百年的修道院,最后在一场大火中付之一炬,僧侣们视之为宝藏、传承着文化和智慧的藏书馆,也轰然倒塌。一个辉煌的时代黯然落幕,僧侣们或死或伤、纷纷离去。多年后阿德索故地重游,满眼只见废墟、残垣断壁,一切都灰飞烟灭。近几年读过的让人这么感动的新书不多了,《看见》算一本,《金色梦乡》算一本,《江城》也算,就这几本,屈指可数。
这本书不止一次让我想到《浪客行》。《浪客行》中,武藏一人对战吉冈七十人之后,一次一次地思考“天下无双”的意义,然后泽庵和尚对武藏说,“过去、未来早就由上天完美的决定了,因此,那是种完全的自由”。《玫瑰的名字》中,阿德索第一次也是最后一次说出一个神学结论:“认定上帝绝对的万能,以及他对选择的绝对自由,不就等于表明上帝的不存在吗?”我觉得,井上和埃科想表达的,是同样的东西。我们是自由的,尽管去做就好。
在这本书里,我读到的是推理,是宗教,是历史,是预言,是真理,是符号,是隐喻,是思考,是灵与肉,是光与血。

很黄很暴力——《小城》
劳伦斯·布洛克
刘丽真 译
上海译文出版社,2017
第一本布洛克。在图书馆闲逛时,偶然看到这本书,然后发现劳伦斯·布洛克好像挺出名的,写了不少小说。于是就借回来看了。
读了开头100页,就觉得这书挺有意思的。同性恋、妓院、凶杀案、作家嫌疑犯,挺多元素在里面的,很生活化的描写,有种看美剧的感觉。接着读下去,多线推进,悬念重重,神经质的凶手,宝刀未老的前警察局长,天生一对的、都有些变态的男女主,慢慢被掰弯的直男等等。可以感受到布洛克的功力,比起钱德勒更有现代感、更生活化。对悬念的设置,案情的推动,凶手和侦探的心理描写都挺好的。有些神来之笔,例如酒保留下的那个酒杯。另外很关键的是,没有严重的 bug (除了凶手犯案过程太顺利了点)。最后,可以看出布洛克对纽约的感情,这份真挚和热爱,给本书增添了不少重量。
整本书有两点超乎我想像。第一是血腥的程度。奈斯博的《雪人》算挺血腥的了,但本书更甚,血手木匠完全就是“真·没有感情的杀手”,他的世界,在九一一那一天就死去了。之后,在他眼中,人,都不是人。
第二点超乎想象的,就是性描写。看的过程中,时不时总要提醒自己,这不是 porn ,这是侦探小说。然后又想,HBO 应该买下这书的版权呀,拍成美剧,肯定很精彩!有些片段,单单看文字都看的我脸红心跳的。不过说回来,书中对性的描写,以及苏珊这个角色的转变,感觉都有些刻意。性描写本身没问题,但没太理解这些描写在书中的意义。想了一下,结合911、暴力、性格扭曲的杀手、被掰弯的直男、慢慢变态的警察局长,这样看来,估计作者就是想表达一极端的环境下,被扭曲的人格吧。如此想来,也能理解。
有一点开阔了我的眼界,就是原来美国的畅销作家这么好赚的,一本书的版权费可以卖到300万美元!然后看看克雷顿一夜暴富、去到酒吧后受到的待遇,真是势利的社会啊。
会继续找布洛克来读,传说中的马修·斯卡德,貌似很有趣啊。
