article_image

在中文互联网上,效率工具讨论者往往会落入业余烹饪爱好者的困境:不可避免地谈到种种顺手的工具,但只要是褒贬,甚至只是露出商标,乃至把商标用不透明胶布贴上,都会被人认定:你在测评,你在软广/硬广,你在恰饭,我要代表读者/观众/听众/月亮/正义/不在场的债权人锤死你。

我确实从一开始就感受到如上种种压力,而我所推荐的工具,几乎全是在国内不能直接购买的舶来品,或者干脆是免费的开源作品,得益于此,我长期以来只是一个边缘人,较少遭到前述种种攻讦。然而就后一类工具——开源工具——来说,事情并不那么简单,开源和免费只是我的政治幌子,实际上我更关注它们的另一共性:面向材料

一方面,我讨厌像 Microsoft 办公套件或者 Evernote 这样的巨无霸,更推荐轻巧、专用的工具;但同时,我却积极拥抱 imagemagick、ghostscript 和 FFmpeg 这类瑞士军刀般多功能的开源工具,这似乎是某种人格分裂。其实不然,苟以功能主义视角视之,Evernote 和FFmpeg 确实貌似雄踞于各自领域的利维坦;倘从材料的视角察之,Evernote 无非提供了一系列傻瓜相机式功能,而 FFmpeg 为代表的一批命令行工具则直面材料,把各种时髦的功能和形容词还原为具体操作。

材料原则确有如此清澈的解释能力。与其说 imagemagick、ghostscript 和 FFmpeg 是瑞士军刀,它们其实更像是厨师的卷帘收纳袋,打开之后三德刀、水果刀、削皮刀、擦丝器和牛排夹一字排开。^1相比之下,Microsoft 套件和 Evernote 则类似有过度设计之嫌的厨房电动玩具(工具),在难谓优雅的本体之外还拖着一堆的维修工具。^2

图片:imagemagick

故事要从图片自动化处理工具 imagemagick 说起。大约在七年前,我制作过一批基于 imagemagick 的自动化小工具,简单的有横向纵向拼接图片、压缩图片体积各种套壳截图,复杂一点的有 App Store 风格截图生成器

Alt text
早年间我自制的组合套壳截图效果

当时制作这一批小工具的起因,恰是多数图片处理工具都处在两个极端上,难以满足实际工作需求:要么像 Photoshop 那样包罗万象,理论上可以做任何事,但往往不一定刚好有你需要的功能,还得自己拼凑,尽管理论上也可以制作自动化流程^3,但是相对复杂,而且软件本身非常昂贵;在另一个极端则是傻瓜相机式的工具,典型如曾风靡一时的套壳截图工具,它们本质上就像蛋糕模具,你只是在套模板,往往没有太多调整空间。打个比方,后一类软件做出来的图片,就好波浪土豆或者狼牙土豆,第一次吃到时多少觉得新鲜,但当你发现全中国的小吃街都在贩卖这些网红食物时(而且用的还是同一款模具),这些奇形怪状的土豆片就可能引发部分读者的生理性厌恶了。

图片处理也是如此,如果网上的图片都用同一套模板,就好比所有的饭店都用同一套模具、同一款调料或同一个厂出来的预制菜,无聊透顶。^4

如果说 Photoshop 代表了设备齐全的现代化厨房,几乎可以做出任何菜肴,而那些傻瓜工具则像是功能单一的电动工具,而且几乎不太可能挪做它用,那么在这巨大的鸿沟之中,理应还有第三种可能。

我当时找到的答案就是 imagemagick。它非常违反(图形界面拥趸的)直觉,就算你愿意仔细阅读——说真的,谁会读?——手册,估计在第一时间你也找不到目标。想要套壳截图?想把截图变成柔和时髦的圆角卡片风格?抱歉,这些东西你肯定找不到。不过,你可以找到很多干巴巴的参数,从叠加图片、调整尺寸、裁剪边角到设置阴影,一应俱全。某种程度上,可以说 imagemagick 是命令行版本的 Photoshop,不过我更喜欢另一个比喻——imagemagick 是一家模具工厂,当你锻打这些参数时,你就化身为一个资深的车床设计师,在为自己打造合适的模具。

这个过程,更多的是工匠气息,而非工厂的机械风格,原因在于,你必须强迫自己了解最终要处理的原材料,而不是浮在表面的抽象功能。什么叫套壳截图?难道世界上有某种抽象的功能叫做套壳截图吗?非也,这个曾经时髦如今已经过期的功能,其实是一连串基本操作的组合,掰开了看,无非是把一张图片叠放在素材上面;换作如今的圆角弧形屏幕,可能还需要调整图片素材顺序,并多放几层;考虑到逻辑分辨率和物理分辨率并不同步,你还需要适当缩放图片素材……好在一旦学会分解,剩下的只是量的差距,鲜有复杂度上面的质的分野。

顺带一提,曾有读者用我的图片拼接工具做了一个照片墙,展示同学的照片,效果非常好。我的设计初衷只是并置竖屏截图以节省文章版面,并未想到还有此用,不过,其实一切都蕴含在材料原则的推论之中了:

易言之,面向功能的软件提供了一个常数,它或许非常大,但可能仍然不够大,或者很难一口气全部学会,又或者这个常数刚好不能覆盖你想要的东西。而面向材料的软件则提供几组元素,其连乘得到的笛卡尔积不仅在理论上可以很大,而且在现有材料足够丰富的情况下,引入一种新材料或一条新定律后,你得到的东西将会乘以现有元素的体积。面向材料的软件开辟了没有边界的可能性空间。

视频:FFmpeg

正所谓物种被增了,属也形成了。我撰写材料原则系列的文章,大概也是在频繁使用第二款命令行工具 ghostscript 之后。我非常落后于时代,基本只看文本和图片,很少处理视频,包括那些风靡全国的考研视频和资格考试教学视频,我甚至连一分钟都没看过——书都看不完了,谁有空看这些老师隔空咆哮或抖包袱呢?当然,我的专业(法学)也不那么需要看视频资料。


author_avatar

Lawyer, macOS/iOS Automation Amateur