《丈量世界》

《丈量世界》 这本书已经读完两周了,按照之前的经验教训,如果想写点读后感而继续不动手的话,基本就永远也不会写了。所以这里赶紧补一篇。

这本书我很喜欢,所以基本上也是一气呵成看完的。主要讲了高斯和洪堡两个有着截然不同性格和经历的天才,用各自的方式来丈量世界。本书的文字很奇特,读起来有一种如梦似幻的感觉,这种感觉可能也有一部分来自我当时的阅读环境:捧着书看到深夜,直到困意渐渐袭来,然后毫无控制力的睡去。

高斯的大名我们当然如雷贯耳,小时候就知道他是个神童,是数学王子,到了大学微积分里面还有高斯定理。但这个名字对于我来说仅仅只是一个符号,我们并不了解他。

第一次在线下活动中做技术分享

周日在广州的 OpenResty 社区 meetup 中做了一个主题为《巧用 OpenResty 结合 Nginx 变量机制提供定制化 web 服务》的分享,说实话还挺紧张的,毕竟是第一次做这种线下的分享,但是到了现场之后慢慢就放松了。因为来参加活动的,大多都是跟身边的同事、同学一样的程序员,在这种气氛下,其实不用考虑会不会怯场、出丑之类的问题。大家都是同道中人,传说中的“演讲技巧”之类的也没有必要,简单的把自己觉得有用的东西分享给大家,对自己是一种锻炼,如果能对听者也能有点用处,那就更好了。

有几位前公司的同事事前听说我要参加这次分享,自掏门票过来就是为了捧个场,他们中有的工作跟 OpenResty/Nginx 压根没关系,想想挺感动的。都说职场是铁打的营盘流水的兵,能结识这些朋友真是有幸。活动结束后,大家一起去聚了个餐,看了电影《奇幻森林》,这场景太像毕业离别前的小聚,他们中确实有位要马上到另一个城市去了。希望他一切顺心。

对一门编程语言的基本尊重

在大学里我们就知道一个著名的论断:程序=数据结构+算法,无数人奉为圭臬,衍生出很多变形体,比如"编程语言不重要,思想才重要"。

现在网络社群发达,一个实际上在某一个领域才刚入门没多久的人,在解决了新手提出的几个 hello world 级别的问题之后,就会被称为大神。然后他就能开始散布一些言论了。

这些言论本身放在一定的限定条件之下是没有问题的,比如 “Python 可简单了,看一个下午手册就能开始干活了”,他至少得有几个限定条件,比如你之前熟悉过其编程语言。即使在这些限定条件之下,你也得踏踏实实花几个小时到半天的时间来看手册不是么。

关于 Nginx-1.9.11 的动态模块

我们知道,原生 Nginx 增加、修改一个第三方模块,需要重新编译源代码,所有的模块都是用静态链接的形式组织起来的。而 Tengine 有一个增强的功能,即动态模块加载 DSO(Dynamic Shared Objects),可以实现运行时动态加载模块,而不用每次都要重新编译Tengine。

在 2016 年农历春节期间,Nginx 官方发布了最新版本 Nginx-1.9.11,也增加了该功能。

Nginx-1.9.11 的Changelog 如下:

Changes with nginx 1.9.11 09 Feb 2016

*) Feature: TCP support in resolver.

*) Feature: dynamic modules.

*) Bugfix: the $request_length variable did not include size of request
headers when using HTTP/2.

*) Bugfix: in the ngx_http_v2_module.

从使用的角度上来说,是增加了一个指令 load_modules 指令,来加载编译为 so 形式的动态模块。

移魂都市

《移魂都市》是一部非常好看的电影,会引发一些思考。同时我也非常喜欢詹妮弗·康纳利的表演。也许是因为她在《美国往事》里的处女秀太过惊艳,很多人认为詹妮弗·康纳利是可以归类到“长残”的童星中去。我不这么认为,尤其是那双眼睛,依稀还是当年的样子。

整个《移魂都市》观影体验非常好,一气呵成,畅快淋漓。值得一提的是,片尾一个海边的镜头让我马上想起了另一部电影《梦之安魂曲》,同一个演员,同一个场景。一查,发现原来《梦之安魂曲》里的这个镜头就是在向《移魂都市》致敬的,见http://www.imdb.com/title/tt0180093/movieconnections:

Jennifer Connelly’s shot at the beach is an homage to the same shot with her in “Dark City”