移魂都市

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

整个《移魂都市》观影体验非常好,一气呵成,畅快淋漓。值得一提的是,片尾一个海边的镜头让我马上想起了另一部电影《梦之安魂曲》,同一个演员,同一个场景。一查,发现原来《梦之安魂曲》里的这个镜头就是在向《移魂都市》致敬的,见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"

能在这个镜头一出现,就联想到《梦之安魂曲》,这种感觉我挺喜欢。

离开益动,入驻悦跑圈

从2014年开始跑步起,我一直使用的 APP 是益动,最近换到悦跑圈了。

一个跑步相关的 APP,无外乎两个基本功能:数据记录、分析和社交。

先说社交。刚开始跑的时候,喜欢将跑步的记录分享到朋友圈、微博中,后来跑成习惯了之后就基本不去分享了,因为朋友圈里的人都知道我经常在跑步,我也没必要再去浪费这点带宽和存储资源。所以社交方面的功能并不是我选择一个 APP 的原因。

主要原因还是最基本的功能:数据记录、统计和分析。不管哪一款 APP,都不可能一次性就将这些功能做好做全,肯定是需要不断挖掘和完善。而这方面,益动的表现根本不像是一款互联网产品。

- 阅读剩余部分 -

使用ngx.header修改Accept-Ranges的问题

今天有位朋友在使用 OpenResty 时发现一个奇怪的事情。

他打算用 ngx.header 来修改响应的 Accept-Ranges 头,于是按照惯例做法,在 *_by_lua 脚本中写入ngx.header["Accept-Ranges"] = "xxx"。在 OpenResty 中,这是一种经常被使用到的方法。

他发现的问题是,当他这么修改后,真实响应的 Accept-Ranges 头不是被改写了,而是出现了两个并列的 Accept-Ranges 头,其中第一个的值是他打算修改的值,而第二个 Accept-Ranges 头的值却是原始的值,即 "bytes".

- 阅读剩余部分 -

如何绘制流程图和结构图

经常会看到一些技术博客在讲解代码的时候,能配上一幅幅精美的程序流程图、结构图,一直都很佩服这样的作者。其实他们大多数也并没有使用什么特别的工具,基本上可以分为如下几类:

  • Microsoft Viso, Word, PPT, Windows 自带的画图板等常用办公软件
  • 一些其他相对较小众的绘图软件,例如 Pencil
  • 脑图工具,例如 Xmind
  • Graphviz, 使用一种叫 dot 的语言来描述结构并生成图片
  • 利用最基本的字符(连字符,箭头等)来绘制,这种做法第一眼就会给人一种返璞归真的感觉,但实际上我个人并不习惯

上面这几类绘制结构图、流程图的方法或工具,我基本上都使用过,但绘图水平实在太差,效率也很低。在读代码的时候,大部分是靠笔、纸这种最原始的工具来完成分析,甚至还专门买了一个白板放在家里。这样往往几幅图画下来后,自己是弄得很明白了,却没法分享到文章里去。

- 阅读剩余部分 -

一场噩梦

昨晚上做了一个噩梦,现在想想还不寒而栗。

这个梦有很长的情节,醒来后还回忆了一下,觉得大概可以写成一部小说了。但是现在却只记得一个片段。

忘了因为什么原因,在一番恶斗后,我被一个恶人制服了,一双铁钳般的手扼住了我的脖子。在拼命的反抗中,我的一只手抓住了他的一只胳膊,像抓到了救命稻草一样,我奋力用手指、指甲去拧、去挠,但并没有挣脱出来。忽然我意识到,用指甲去挠他的胳膊时,我的另一只手臂却感受到了同步的疼痛,这个念头让我在梦里手脚冰凉。为了确认,我反复的掐、挠,果然我的意识是对的。无论我怎么将力量作用在他的那只胳膊上,这些力量其实都施加在我自己的另一只胳膊上。

- 阅读剩余部分 -