事情是这样的。

我在这里 EPWING for the classics 发现了质量非常好的拉丁语古希腊语辞典文件,所有变形都能查到,非常方便,不过只能用于 EB 系列。

欣闻 GoldenDict 的 Windows 版支持此格式,然试用后发现外字(GAIJI)处理很成问题,不能 Unicode 化,非常难看,且不能复制。

联想到上次经历(伟大献礼(误)致 GoldenDict 德语辞典用户),意识到可以调用 EBWin4 的命令行模式,同样地处理编码问题后,于是有如下。

import sys
import os

# Version 1.0
# 需要配合 EBWin4 使用,词典分组需要设置好


def output(o):
    fullstr = '<meta charset="utf-8">'
    for l in o:
        fullstr += l
    # print(fullstr)
    sys.stdout.buffer.write(fullstr.encode('utf-8'))


s = sys.argv[1].strip()
# s = "organon"

result = os.popen(
    '"C:\Program Files (x86)\EBWin4\ebwinc.exe" /G=KL /C=1 /O=h ' + s).readlines()
output(result)

希望使用者可以在词典列表中设置执行此程序,注意输入正确的参数。

本程序使用 MIT License,不对其功能作任何担保。

CHANGE LOG

18.11.2017 v1.01: 强行指定编码,防止 GBK 破坏。

痛点破坏!

一言不合:

import sys

# Version: 1.01
# 需要配合 GoldenDict 中拼写检查功能使用

def output(o):
    fullstr = '<meta charset="utf-8"><a href="' + o + '">' + o + '</a>'
    # print(fullstr)
    sys.stdout.buffer.write(fullstr.encode('utf-8'))

s = sys.argv[1].strip().split(' ')

# Er sieht gern fern.
if len(s) > 2:
    output(s[-1] + ' ' + s[0])

# Er braucht nicht fernzusehen.
if len(s) == 1 and 'zu' in s[0]:
    w = s[0]
    pos = w.find('zu')
    if pos > 1 and w[-1] == 'n':
        output(w[:pos] + w[pos+2:])

sys.exit(0)

其实中间需要多点一步,然而这已经算不得什么了。

本程序旨在提升划词搜索的体验。

希望使用者可以在词典列表中设置执行此程序,注意输入正确的参数。

判断条件十分粗糙不耐用,极大概率出错,故不能完全依赖之。

本程序使用 MIT License,不对其功能作任何担保。

已知问题:

»Man sieht fern.« 这种中间没有被其他词间隔开的无法在程序中处理,因与 GoldenDict 自身判断机制冲突。似乎只要程序有输出,额外的联想就不会进行。征求优雅的解决方案。

我期望的所为

虽然事已至此,关于我选择“说”这一点还是可以继续解释,尽管理由并无太多变化,详细的述说作为理清思路的方式大概还是有帮助的。

对于“说”,我感受到的其实是一种迫切感,即便不考虑这样做对我自身有什么影响,这种必要性还是作为一个既定的事实作用于我。尽管有时可以认为并非存在一个说的主体,而是理性 λόγος 要求借用了人的身体在说,但这并非是说的冲动的唯一可能的来源。它确实是某种东西——尽管目前很难说那是什么,就算认定为自我也是有待商榷的——实现自身的途径和表现,但其地位其实也只是某一种可能的选择而已。对于我目前的情况而言,这是唯一较好的可能性。实现的方式有很多,我只能选择适合我目前能力水平的。

而这样一种建立在实际能力上的思路又决定了我不可能真正地成为神圣的信使 ἄγγελος 或译者 ἑρμηνεύς 作出 ποιεῖν 作为阐释的诗 ποίημα,也不能为某种高不可攀的大厦添砖加瓦,我的必然性要求我现在就说。我已经任那些或许有价值或许无价值或许真或许假的事物足够多地消逝了,因既成现实而破坏潜在可能性这一点已经产生了足够多的罪恶感。因此现在我只能在两条道路之间开辟出与二者重叠或不重叠的危险道路来,并姑且承认这实际上是缓兵之计的说法。

我的困难

事实上这个困难不仅仅是理论上的,它具有的重要性很大程度上来源于我实际的感受,也就是说,其背后的保证是某种主观的真实。我不知道它为何表现出诸多先天性的特征来,它一旦出现并被发现,便能够真正地打下永不磨灭的烙印,并永远确定自己的绝对权威。尽管承认它符合它自身的逻辑可以直接解释作为表现的后者,但要求成因的前者的解释或许真的只能被认为是柏拉图式的先天,或者说是神圣者的突兀。

很明显,这个困难是一种超越性。一方面,作为一种常见的见解,我们所直接接触到的事物可以被认为其背后总是隐蔽地存在着某种真正决定性的秩序,这虽然本身也意味着某种徒劳,但我们对此并不太陌生;但另一方面,作用于时间——不论是否真的可能——维度上,即因其否定性的本来面貌,使人永远不能安逸地处在任何一个位置上,而企图进行 Σίσυφος 式的永恒的回乡 Heimkehr。这作为未来的、可能的,却又永恒不定的故乡 Heimat 即“尚未”的归属将对当下的、现实的造成无尽的烦忧。

认识到这一点后,便有了一步惊险的(难以解释的)跳跃,即遵循这种超越性的指引,放弃一切有限的现实而追求无限的可能性,Heimat的不定性转化为无限性被接受和应对。这种“出离心”是对这无情游戏的规则的破坏,使得虚伪的游戏无法进行,也使得重返原本的游戏再无可能。这也就是我无法(有意识地)成为一个普通游戏玩家的原因。

无限的可能性,及共产主义的回应

处理无限、可能这类非现实对于我们人类来说是很困难的,但这其实也就意味着我们不能也不必运用处理现实的方法同样地去处理它们。在这个问题上,永恒回乡的无限循环诅咒看起来不能被消除,而绝仁弃智一切皆空式的逃避又不具有可操作性,一种能将循环本身视为中立 neutrum 的方法便尤其重要,即在已经存在某种现实的否定性的前提下,预留出使当下的现实得到动力并使一切可能的前路保持畅通的保证。这种运动变化的能力不仅将一切可能的可能性其选择的权力释放出来,自身 per se 永恒的循环也因此有了“继续”的概念,这种使未来的可能性与当下的现实始终相互转化的能力将使良性或恶性的静态判定不再具有意义。

或许这样的认识只是一厢情愿,能接盘并实现所释放出的非-反现实的权力的方式只有关注人的共产主义,只有这种因具有“无”性的乌托邦 utopia 而能蕴藏、释放无限性的可能性的运动能够持续提供转化“尚未”的力量,并最终为成为主体的人提供作为这种权力表现的自由,而人的自由全面发展毕竟也是一个生成 φύειν 人的过程。

可以看出,这是一个终极意义的再造运动。

我只简单谈一谈普通用户的方法论吧。

(以下 Linux 主要是指发行版,不是专指内核)

从 2009 年开始算 Linux 的坑我已经入了八年,这八年来最大的变化就是心态。有些看起来是老生常谈,经过考察证实了确实是人生的经验。但是同时我们也要考虑到历史的进程,发现所谓经验中具有普遍价值的真理,将其从时常变化的意见中分离出来。这应该就是我在与 Linux 相伴的八年里学会的东西。

说得这么玄乎究竟是什么意思?我觉得还是应该先谈一下我对待计算机及其相关技术的原则。

计算机其实在大多数情况下只是工具,不是玩具。固然可以把它当作玩具,但这终究不是人生的常态。我其实只是一个普通用户,我会写一些小程序,但我不是程序员,有时玩玩游戏,至于我的专业则与计算机毫无关联。因此,我对计算机的要求其实很简单,不过是要它总能按照我的意思工作而已(我坦言我很懒,能自动化处理的事情总想交给计算机,毕竟计算机是适合处理这类事情的)。但是就算是这样一种看起来很简单的要求,实现起来确实是有点困难。操作系统发展到今天,已经变得非常用户友好,但这种友好并不总是足够的,正如一切不完美的人工事物,很多时候还是会出现各种问题。这种时候,为了用户友好而被隐藏起来的技术细节就显得尤为重要,考察技术细节的能力似乎成为了判断用户水平的依据。我不认为这个问题短期内能够解决,但至少在这个时代,多一些这方面能力总归是能便利自己的,而且多少可以在这个特殊的信息技术时代对我们生存的世界掌握一些主动权,这基本上也就是普通用户学习技术的目标界限。这是好的。

言归正传。事实上我已经很难再想起 2009 年尝试 Ubuntu 的确切原因了,可以确定的是我当时对 Windows XP 已经十分厌倦了。容易中毒,处处得小心谨慎,为了一件小事下一大堆软件,而且我家机器也有点旧了,拖着 XP 又卡又慢,当然更重要的是当时我喜欢自己改系统,好奇心强,于是一听说我们其实也有其他选择时,Linux 自然吸引了我。而其中 Ubuntu 是最有名的,新手最多尝试的,用户群体相对大的,支持相对好的。关于 Linux 普遍意义上的优点,我只提它的开放性和可控制性。这个系统的每一个部分都毫无秘密可言,所有的“秘笈”都是公开的信息,每个部件都是相对独立的,每个软件的开发者都是大活人(与冷冰冰的大公司相对),这当然和它社区的程序员文化有关。有时如果想自己动手写点什么解决非常独特的问题,Linux 下是有正常方便的门路可走的,各种文档都可以去看。结果就是每个用户都被允许拥有一个最适合自己使用的系统(总觉得这句话宗教性很强,简直像传福音)。总之在使用上,弄明白想做什么和怎么去做之后,基本上就是直来直往的坦途。这多少有点共产主义的味道,我们没有被奴役,并且与生产工具的关系是和谐的。不过自己必须对自己负责也正是自由的代价了。

后来换掉了 Ubuntu 原因也正是它与我的观念背道而驰。经常折腾 Linux 的朋友一定懂得,每次配置新系统总是希望这是最后一次了。但是很多时候还是无法避免不停地重装。这很烦。有这个精力还不如干点别的。由于 Ubuntu 众所周知的跨版本升级问题我的机器挂了,并且此前为了我的“方便”以我难以理解的方式预先配置好的东西总给我制造麻烦,是时候换成 Archlinux 了。Arch 可以不停滚,保持最新,简直一劳永逸,特别适合向我这样的懒人。而且可以做到里面所有的软件都是我的选择。后来换了电脑,人越来越懒了,精神洁癖也没有了,就装了 Manjaro。可以滚,可以新,享用充分测试后的软件,不容易挂,我甚至开始觉得历史要终结了。其实此前也用过 Lubuntu、Deepin,不过时间不长,而且也没有什么能给我留下深刻的印象的特点,所以就略过不谈了。

感觉有点偏题……

如果说体验的话,除却那些系统本身带来的轻松愉快的感觉之外,令人不爽的折腾其实主要还是由软件的生态环境造成的。QQ 的故事其实很典型。QQ 一度是刚需,因为大家都用,不能不用。有人就分析了协议自己写了名为 eva 的客户端,这曾经是 Linux 上最好用的 QQ 客户端,没有之一。但是腾讯不喜欢,而且对 Linux 上客户端的开发基本无视(别提那个官方的客户端了,很好笑)。总之长久来都是不能用的,那时我总是开着虚拟机。但与此同时,wine 变得越来越好用,最终使得 wine QQ 也成为一个可选的方案了。然而如今我也不用 QQ 了。类似的还有网银的需求被支付宝替代、WPS 最终推出 Linux 版的事情。讲这些故事是为了说明具体的应用软件其实变更很快,一方面是因为新的软件被开发出来,新的解决方案被研究出来,另一方面需求同样也会发生变化,这是沧海桑田的事。因此用陈旧的印象评判现在的环境其实并不合理,有些时候只是耐心问题。当然我作为普通用户持这种观点没问题,行业一线的朋友可能就需要多一些担当了。这几年的经验倒是训练了我敏锐的判断,即什么事是可行的,什么现在还不行,什么新项目很有前途,可进可退才是明智之举。

谈哪些软件好用可能没什么意思,最后总结一下经验教训吧。

  • 精简系统和软件配置
  • 不要做完全不理解的事
  • 备份重要文件,工作环境和玩具环境分开,区分保守和激进两种策略
  • 提前了解麻烦的事和不可能的事 (例如买机器时避免奇怪的硬件)
  • 关心真正要做的事 (工作时别折腾,珍惜时间)
  • 装个 Windows 10 救急用 (我好坏啊 捂脸)

这是一篇文章。这篇文章的开头将大致介绍一下这篇文章要写什么内容,或者说,作出非常间接的关于内容的暗示,从而将目光引入到话题中来。读者或许对这样的说法产生兴趣,因而现在,这篇文章的主体就要展开了。

显然,到了这里已经可以不太突兀地发出声明,即这篇文章的内容只是关于文章,并且只用一些关于文章的论述就试图构成这篇文章。在此,文章明确了这种走向,同时产生了一些关于这种奇特的建筑是否能成功的疑问,这便造成了一个转折。

但是这个转折是可以用现在这样的方式处理的。处理这种转折的过程并不意味着倒退,而恰恰意味着这篇文章离整体的成功更近了一步。这一成功的处理有意识且强硬地将这篇文章推向了高潮。

作为总结,稳妥地接住前面的高潮,并把所有的内容以一种静态、精炼、持久的形式稳定下来,便是很好的结尾。如果这篇关于它自己的文章最后能发人深省,引出更多未被提及的想法,那就是一篇好文章了。