杂谈

本文分为几个部分:软件中的唯一性资源、技术进步和社会平等、Batman v Superman 影评。

乱想乱讲的,轻拍。


各位应该听说过“注意力资源”这个概念。这个概念是谁最先提出来的,我没有找到确切的证明。1998年中国有人提出了这个名词,但是其论文中并没有给出一个逻辑解释;2005年有外国学者将其作为经济学中的一个模型提出。不过本文重点不在这里,而是讲一下与此相近的另一种资源——唯一性资源——在软件中的应用。

我认为,系统中的唯一性也是一种有限的资源。在系统整体性得到保持的情况下,唯一性资源是不可再生的。用人话说,就是在一个世界中,讲究“先来后到”。

还是用例子比较好理解。在 8.3 时代,将名字压缩到8个字符(范围还是 ASCII 的一个子集)内是一个艺术,由此也产生了一些常用的缩写“默契”——哪些字母省略之后还能让读者看出原本的意思。通常是省略元音字母,比如 SolidWorks→sldworks、PowerPoint→powerpnt(这些名字由于各种原因都流传下来了),还有词组压缩(iexplore)、公司缩写压缩(msword)等等常见手法。如此丰富的手段,都是为了能让自己的产品名优雅地、永久地、与其他已有文件无冲突地挤进这8个字符里。

这是一种占领行为。8.3 格式的解放和长文件名广泛应用缓解了这愈演愈烈的地盘之争。

然而,由于设计上的原因,划地盘的行为还在继续。

Linux 下,以 . 开头的文件/目录被认为是隐藏的,许多软件喜欢创建这样的一个隐藏文件/目录来保存设置。Git 的数据库就是 .git,JetBrains 一家子的配置目录是 .idea,Visual Studio 2015 一个看上去准备拥抱 Linux 的举动是用 .vs 来保存当前工程编辑状态,它的姐妹 Visual Studio Code 则用 .vscode。所以即使你的某款软件叫做 Vivid Symphony,为了不冲突,也请不要用 .vs 这个配置位置了。

还是 Linux 吐槽。用 Linux 的应该都喜欢用命令行,绝大多数为 Linux 设计的软件都提供命令行程序。为了能简单运行,最直接的方法就是将其添加一个符号链接,放到 init.d 里,这样随处敲命令就能执行了。于是,斗智斗勇的命名大赛又上演了。Yeoman Generator 的命令行程序叫做 yo,安装好之后不管在哪里,用 yo nodejs 就能在当前目录下新建一个 Node.js 项目。是不是很方便?但是如果我的程序也想用 yo 作为命令怎么办?为了不影响 Yeoman,请让路吧。Windows 的用户比较幸运,因为大多数时候各位都是用鼠标。虽然两个系统有着类似的文件搜索策略(不详述,不清楚的同学自行学习),但是一旦冲突发生,Windows 就比较麻烦了,只好争抢谁在 %PATH% 中比较早出现(Windows 7 之后可以用 mklink 创建符号链接)。

扩展名是让人第一眼大概知道文件内容类别的东西,在 Windows 上是资源管理器对文件类别识别的唯一依据(不要跟我说 shell hook,还是要先通过扩展名筛选才到 hook)。我经历过的最早的扩展名冲突的来源是 CLEO(一个给 GTA San Andreas 提供脚本支持、构建 mod 的软件),它的脚本文件后缀是 .cs。在我还只是 VB 小白的时候下载过一次一个 CLEO mod,根据直觉,那些最主要的功能文件就是 .cs 文件,而我此时还不知道 C#,搜索后缀名之后所有网页说的都是 C#……所以尽管我没看到,但是不难想象出小白看着 .cs 就拿 Visual Studio 打开的场景。这同时是一个知名度碾压的例子。

更别提各种包管理、作用域中的函数名等等成百上千的具体例子了。这就和论文一样,发表最早的就有话语权。

有时候,由于知名度的碾压,一个特定的字符序列几乎是不可能被赋予其他意义的,形成了“关键字”。当我们说起 Git 的时候,你或许就不会去想原本的这个词“小玩意儿”的意思了。更复杂的案例是各种商标和在法律框架之下的名称保护,最近刚刚就发生过 NPM 包解放事件,虽说 NPM 的操作是对个人权利的侵犯,但这个事件产生的原因就是两个世界的符号碰撞——商业名称和程序包名称,“恰巧”撞车了,刀光剑影之后后者出局。

是否该担忧,好名字都没了该怎么办呢?如果我就想创建一个名字叫“苹果”的公司呢?这么说吧,人是一种喜欢划分管辖领域的动物,“好名字”也是由于人类记忆力、生命和活动(物理和信息)能力有限的产物。在没人的情况下,这跟用无限的猴子打文章差不多。

再开一点脑洞,这完全是符号化的争执嘛。我们将其简化为“符号”的事物,都参与了进来。所以这一节原本的标题是“认知资源”,指的就是人将事物概念化、符号化后认知产生的这些斗争。


《技术会带来社会平等吗?》一文中,虽说资本聚集、技术毁梯子这事早听过了而且也切实地看到了,但是这个“在虚拟中重构平等”的可能性还是第一次见到。唔,但是技术上的差距还是融合不了嘛,计算资源并不是无穷无尽的,想要在虚拟中“享受”仍然会分裂社会阶层。毕竟是分形。在作品中表达了这样的观点的请见《楽園追放》


今天中午招新,中间杨彦君去取了一下快递,我孤零零地看展位。十分钟的时间,看着面前一个一个人走过而无人驻足(实际上,这段时间有4个人问了一下“这是什么”),心有戚戚焉。嗯,又是那反社会的老一套。然而我也很清楚,我只是在给过去的时代披上寿衣,为上个时代的最后一批人尽一份仁义。我很荣幸我经历了,并将会亲手终结这一切。

在最后一分钟,两个妹子经过,一个人惊呼“哦原来是(社团)啊”,另一位并不知道我们是做什么的,就过来问了一下,我做了解答。“不过我们都准备毕业了”,她们说。嗯,两天招新一共有9个人稍稍关注了一下,已经是远远超出“0”的预期了。不过重点是这两位妹子给我感觉还不错,而且是同级诶。哈,一面之缘,没后续的概率很大,见过就好。

这时候杨彦君拿快递回来(乐高,用于……机器视觉,像这种),看到她们俩问完刚走,问我:“你同学?”“不。”我说。


下午抽时间去看了 Batman V Superman: Dawn of Justice,看完这电影,我只能给 2/10 分。电影特效我一向的态度是不影响剧情就行,做得再“炫酷”也不会有任何加分。一分给 DC 和最后终于变成秃头的 Lex,一分给某些有亮点的翻译。

这次翻译质量简直是一半天堂一半地狱,这里只提三个我当时就记下来的有误部分。剧透注意!

  1. “Projectile One”翻译成“自动弹射一号”是几个意思?(前文:超人将毁灭日送上太空,两人一起挨了一发核弹,军队监测到两个物体从天而降。这里应该翻译成“一号残骸”啊!而且翻译是不是把 projectile 和 ejection 弄混了?)
  2. “one round of ammo left”翻译成“还剩一轮弹药”是几个意思?(前文:蝙蝠侠准备了3发氪石雾弹,对付超人用了两发,和解后只剩一发对付毁灭日。这里的意思是“剩下的弹药只够再来一轮同样的战术”,但是对弹药就应该说“只剩一发”了。)*
  3. 大炮上的“US ARMY”翻译成“美国军队”是几个意思?(语言常识,是“美国陆军”,美国三军之间的勾心斗角还是很深的。)

*3月30日修正:round 用作量词作“弹匣”解,如“5 rounds of ammo”就是“五弹匣弹药”的意思。这是这几天玩 PAYDAY 2 的时候看到的。啥?汉化补丁?我才不需要那玩意儿。

为了引出正义联盟,对设定大刀阔斧的改编也影响了剧情。因为是 Zod 改造的,所以大名鼎鼎的毁灭日(Doomsday)就这么被一根氪石棍子插死了?这就跟 MCU(Marvel Cinematic Universe,漫威真人电影世界观)中的钢铁侠创造 Ultron 一样糟糕。虽然我并不是硬核美漫粉,但是对两家的主要人物、队伍和世界线都有基础了解,跨界必需的素质嘛,别想随意糊弄我。只能说,DC 电影布局实在是晚了,现在两家的电影竞争也白热化了,只好各自创建自己的新的无逻辑世界线来拉拢爆米花观众。

毁灭日本来是一个精神符号。杀死了超人的它,与有“the man who broke the Bat”之称的 Bane,和击败了福尔摩斯的 Irene Adler,有着同样的知名度。超人有着超凡的力量和正义感(“正义联盟的良心”),蝙蝠侠凭一介肉身跻身三巨头、七元老之位,还是队伍中的军师,福尔摩斯无案不能破。它们都是读者/观众心中的理想的化身,存在和地位应该都是金刚不坏的,然而只有毁灭日、贝恩和艾琳打败了他们(艾琳不是唯一击败福尔摩斯的人,不过是其中唯一的女性),粉碎了读者心中的神像。万千英雄之中只有一两个成了绝对的精神偶像(神),这“绝对”又被巧妙地破坏了。这就是他们的魅力,也是至高的人物经历设置的魅力,也是作品的魅力。

然而这电影就是为了票房,把这些都毁成了什么样!

即使这些都不论,毁片的能力也不如大战高潮超人和 Lois 切的那几个镜头。这几个镜头明显就是设计用来迎合无脑观众,看上去人傻钱多好赚钱的。整个影片节奏前面和007差不多,这里突然就成了泰坦尼克号,生硬的插入连公式化的美国个人英雄主义片都比不上。一个比喻,就是打歌的时候碰到乱出的note,让人怀疑谱面制作者的能力。

而且,老!爷!用!枪!啦!对,就是那个在梦境外拿着枪还伤了人(没杀)的场景!真的拿枪就往人身上打了!这什么鬼!

那些植入广告镜头中,我觉得最好的应该就是 EMC(VMware 的母公司,去年10月被 Dell 收购)的了。蓝色的 EMC2 放在服务器上,如果不是从事这一行的还真是看不出,这比那些植入车植入手机的土豪镜头要优雅多了。

分享到 评论