手册页中的隐喻

2020-05-09 03:53:47

今天早上,我在看玛吉·阿普尔顿的精彩演讲,她回答了一个关于我有时会遇到的比喻的问题。用她的话说,“比喻不就是一种无聊的分散注意力的东西吗?为什么我要用这些完全不相关的模糊误导的故事来污染我的(观念)呢?“。

我有时确实很想知道这一点!我真的很喜欢用直截了当的方式解释事情。那么隐喻是怎么回事呢?

在演讲中,她解释了“比喻隐喻”和“认知隐喻”之间的区别,并指出我们在日常语言中使用了大量的隐喻来理解我们周围的世界。她提到了一本超级有趣的书,叫“我们赖以生存的隐喻”,我马上就开始读了。

下面是“我们赖以生存的隐喻”中的一个例子,这些隐喻是我们用来表达想法的。

想法就像食物:“原始的事实”,“半生不熟的想法”,“吞下那句话”,“用勺子喂我们的学生”,“论文中有肉的部分”,“那个想法已经发酵多年了”。

作为人的思想:“相对论催生了大量的思想”,“这些思想是谁的创意”,“那些思想在中世纪消亡了”,“认知心理学还处于初级阶段”。

创意作为产品:“我们这周产生了很多创意”,“需要改进”,“他的智力生产力近年来有所下降”。

把想法当作商品:“他不会买的”,“那是个没用的想法”,“她有有价值的想法”

作为资源的想法:“他的想法用完了”,“让我们集思广益”,“那个想法会大有用武之地”。

作为切割工具的想法:“这是一个精辟的想法”,“切中问题的核心”,“他很犀利”。

想法就像时尚:“那个想法几年前就过时了”,“马克思主义在西欧很流行”,“伯克利是前卫思想的中心”,“符号学已经变得相当时髦了”。

我想到的是,我们用来表达想法的不同类型的隐喻如此之多,这让我感到惊讶!我们不再用一个大的比喻,而是一直使用小的比喻来向对方解释事情。

好了,让我们进入这篇博文的重点。当我在读“隐喻”的时候,我对编程中的隐喻产生了兴趣(当然)。

我试着想出最枯燥的技术文档,应该有最少的隐喻。显而易见的选择是手册页,它的优点是已经在我的计算机上了。

下面是我今天早上在手册页上找到的一些比喻。我只在这上面花了大约2个小时,所以这绝对不是对计算中使用的每一种隐喻的完整讨论,但我很开心地找到了它们,也许你也会觉得它很有趣。

我基本上是通过翻阅比喻中的比喻例子找到这些比喻,并为它们在电脑上的所有手册页上涂上油污。

“包含RFC 4648第5节base64url编码的128位密钥的文件”

“缓存已满,未缓存的新页面变得可见”(man zathurarc.)。

还有很多种资源:带宽、TCP套接字、会话ID、堆栈空间、内存、磁盘空间。

在查询之间保持TCP套接字打开并重用它,而不是创建新的TCP套接字(手册摘要)。

最大值很容易耗尽额外的3 GB左右的内存(Man Valgrind)。

请注意,TLS 1.3仅受TLS后端(Man Curl)的子集支持。

在Linux上,futimens是在utimensat系统调用(Man Futimens)之上实现的库函数。

限制为房间/建筑物(有楼层和天花板,您撞到了它们)是一种有趣的方式:

这指定了进程的nice值可以提高到的上限(Man Getrlimit)。

“这是脆弱的,可能会改变,因此不应该依赖”(MAN PS)。

“显然,如果你给一些数码相机喂一张CF卡,它们就会消化不良)(Man Mkfs)。

“上面的例子可以被认为是一个最大限度的重复,它必须吞下它能吞下的一切”(Man Pcrepattern)。

“这将允许您将换行符分隔的name=value对提供给‘(Man Cgi)上的脚本。

“HTTPS保证密码不会明文传输”(man net::SSLeay)。

“将多个证书打包到ASN.1结构中的方法”(Man Gpgsm)。

这是较丰富的类别之一-许多不同的手册页似乎都同意流程是人,或者至少在某种程度上是活的。

如果进程退出导致进程组变为孤立状态(MAN退出)。

如果父进程终止,则其“僵尸”子进程(如果有的话)(人工等待)。

然而,Git不(也不应该)更改用户背后的标签(man git-tag)。

对于大型项目,这是一个非常昂贵的操作,因此请谨慎使用(man git-log)。

由于预算被消耗而导致softirq处理程序函数每秒终止的次数(man sar.sysstat)。

下面是我发现的一些还不属于这些类别的东西。

当在glibc下创建线程时,所有线程设置只使用一个大锁(Man Valgrind)。

在此之前擦除文件系统签名、数据等是一个非常好的主意(Man Cryptsetup)

因此,当我们谈论编程时,我们总是在使用隐喻!我发现的隐喻比我预想的要多得多,其中大多数只是我通常谈论程序的一部分。

我还不确定这是怎么回事,但这让我意识到,我使用的隐喻可能比我想象的要多得多,也许有更多的方式来使用隐喻,以一种与人们已经在讨论计算机思想的方式相配合的方式。(与其编造一个全新的比喻,不如利用已经在使用的好比喻!)