拜访一个奇怪的程序
我意识到这有点奇怪,弗朗索瓦,但 Linux 如此吸引人的部分原因在于它让计算重新变得有趣。 有时,乐趣就是纯粹的傻气。 Non, mon ami(不,我的朋友),这个程序对你的工作效率没有任何帮助。 不,它既不监控资源,也不帮助系统管理。 是的,你是对的,它没有明显的用途。
你问为什么? 为什么,弗朗索瓦,我们供应美酒而不是白水? 为什么我们要沉迷于丰盛的食物和颓废的甜点,而不是只消耗我们身体需要的东西? 因为这很有趣,mon ami(我的朋友)。 你为什么不注意听我说话? 你在看什么?
Ah, bonjour, mes amis(啊,你好,我的朋友们)! 欢迎来到 Chez Marcel(马塞尔之家),这里有美味的 Linux 食品、美酒和偶尔涉足奇异而不同寻常的软件领域的体验。 请坐,弗朗索瓦会立即为您倒酒 immédiatement(立即)。 弗朗索瓦,去酒窖。 取 1997 年伊甸谷恩典山设拉子。 Vite(快点)!
如您所知,mes amis(我的朋友们),本月刊的重点是程序开发。 显而易见的方法是展示一些才华横溢的开源程序员用来改进和丰富 Linux 生态系统的出色工具。 在此基础上,我想指出以下几点:有时,这些才华横溢的程序员只是在玩耍,找点乐子。 有时,他们制作的程序很傻、很怪异,偶尔也很奇怪。 我想用今天的菜单来向这些人致敬。
很久以前,ASCII 艺术在世界各地发送的电子邮件中很流行。 不幸的是,花哨的字体和 HTML 化的电子邮件对这种古老而崇高的艺术形式造成了沉重打击。 最令人怀念的可能是奶牛,至少对于托尼·门罗来说是这样。 他的 cowsay 程序(一个不错的、易于使用的 Perl 脚本)提供了一种简单的方法来生成一个 ASCII 奶牛,它可以说出你的信息。 前往 www.nog.net/~tony/warez/cowsay.shtml 获取你的副本并将其解压到你的目录中。 安装包括运行 install.sh 文件。 运行该程序也很简单。 假设我想要一头奶牛说“再来点酒,谢谢”
$ cowsay More wine please. ------------------- < More wine please. > ------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
使用 -e 和 -T 选项,你可以定义奶牛的眼睛和舌头。 你也可以使用 -f 选项来指定 /usr/local/share/cows 目录中的任何其他动物(或类似奶牛的生物)。 你甚至会在那里找到 Tux。 但是,请注意,有些艺术作品可能有点不雅。
有人要会说话的牛奶盒吗?
在程序化傻气的世界里,有很多话要说。 也就是文本。 例如,以安迪·吉利根的 cack 程序为例,该程序用于生成无意义的短语 (sourceforge.net/projects/cack)。 “那么,你将如何使用 cack 呢?” 你可能会发现自己在问。 例如,假设你正在尝试回复一封电子邮件,并且你需要一些完全无意义的东西来表达你的观点。 这时 cack 就可以派上用场了。 只需输入 cack,后跟一个数字,表示你要生成多少行无意义的内容,然后按 Enter 键。 以下是你可能会看到的示例
disintegrate the 95 marauder and the on request medieval eel billet the unsized aged and the biochemically amphiprostylar crotchetiness
你的朋友会认为你不是疯了就是很聪明。
为了更进一步,你可能需要查看这个恰如其名的 nonsense(胡说八道)程序。 本质上,nonsense 是一个巧妙的生成器,嗯,生成胡说八道。 例如,使用命令 nonsense -f mission.data,你可以生成如下所示的企业使命宣言
Our mission is to achieve progress in integrating integrated technologies to produce more revenue for our head honchos and make our founder enough cash to exceed the net worth of the world's richest man.
对于 nonsense 来说,这是一个非常灵活的程序。 使用命令行开关,你可以让 nonsense 生成商业计划、奇怪的人名、虚构的政治组织、令人印象深刻的极客简历(图 1)、离奇的法律(“在密歇根州黄胡桃市,用纸板箱击打毒葛植物是 C 级重罪”)、报纸头条(“电脑被撒旦恶魔附身”)甚至相当逼真的 Slashdot 网页。 一些输出是 HTML 格式,适用于网页——当然,所有这些都是很傻的。 许多其他选项及其结果可能会让你忙上几个小时。
一份工作。
要获得你自己的 Nonsense——也就是这个程序——请在 i-want-a-website.com/about-linux/downloads.shtml 获取最新的软件包。 除了解压缩 tar 和 gzip 打包的文件之外,没有任何编译工作要做。 Nonsense 是一个 Perl 脚本,它与模板集合一起工作。 解压缩软件包后,请务必查看随附的 README 文件,了解各种选项。
当然,正如 Monsieur(先生)莎士比亚曾经说过的那样,并非全是文字、文字、文字。 毕竟,音乐在我们生活中的重要性不容置疑,但是完全随机的音乐呢? 斯蒂芬·拜尔的 Randomposer (<@url>freshmeat.net/redir/randomposer/8816/url_tgz/randomposer-0.2.6-2.tar.gz) 可能是解决这个问题的起点,但也许我们需要先理解这个问题。 无论如何,如果数百万只数字猴子谱写你的下一部作品的想法吸引了你,请尝试一下这个程序。
由于 Randomposer 是一个简单的 Perl 脚本,因此无需进行编译。 解压缩软件包,然后从目录中运行 make。 要运行 Randomposer,请输入 rposer,你的随机音乐将开始播放。 你可以保存音乐,更改每分钟节拍数,并通过命令行参数将其他非随机元素引入你的创作中。 输入 rposer --help 获取详细信息。
弗朗索瓦,看来我们客人的酒杯快空了。 请给他们续杯。 你能去厨房把奶酪拼盘端出来吗? Merci.(谢谢。)
所以,mes amis(我的朋友们),我们现在有了文字和音乐。 再加上一点视觉效果,我们就可以获得完整的、有点奇怪的多媒体体验。 你们中运行 KDE 桌面的用户可以利用 kdetoys 软件包中包含的一个巧妙的傻气程序。 它被称为 AMOR,这是一个首字母缩写词,恰如其分地代表 Amusing Misuse Of Resources(有趣地滥用资源)。
AMOR 是一个小动画角色,它坐在你的打开的窗口上。 默认情况下,它以一个小黄点(或笑脸)的形式出现,它四处喷射、微笑、对你眨眼,偶尔还会 burst into flame(燃烧起来)。 打开随机提示功能,你的角色偶尔会抛出提示,其中一些提示与你系统的功能有关,另一些则与更平凡的主题有关。
顺便说一句,AMOR 对资源的需求并不是特别糟糕(当然,它确实增加了你的处理需求),所以你不必太担心它。
当 AMOR 停在一个地方时,你可以右键单击该角色来更改选项。 AMOR 可以变成小猫、幽灵或我们最喜欢的吉祥物 Tux。 有些角色是动画的,有些角色则静静地坐在那里,除了占用几个像素外什么也不做。 这些静态角色之一是来自另一个奇怪(但非常有趣)的 Linux 程序——布赖恩·惠灵顿和马蒂亚斯·杜阿尔特的 XBill(可在 www.xbill.org 获取)中的小比尔。
Quoi(什么)? 你不知道 XBill? 那么你必须立即下载它,开始从一个只被称为比尔的邪恶黑客手中拯救世界计算机网络,因为他试图将病毒(巧妙地伪装成操作系统)加载到原本健康的计算机上。
好吧,mes amis(我的朋友们),看看时钟,我可以看到时间不幸地快用完了。 说到时间——为什么在这个花哨的图形和视觉效果的世界里,有人会想要一个 ncurses analog(模拟)时钟,这个问题最好留给哲学家(或只被称为汤米的程序员)。 如果你就是那个人,那么也许是时候下载并安装 clockywock 了。 它具有时针、分针和扫秒针,所有这些都是在纯文本终端中仅使用 ASCII 字符生成的。 你可以从 www.soomka.com 下载它。 构建 clockywock 只需键入 make 即可; 它只有一个源文件,编译后会生成 clockywock 程序。
在我离开时间这个主题之前,如果我不提及 XDaliClock,那将是对大家极大的不负责任,这是一个迷人的图形时钟,其中的数字不会发生太大变化,而是从一秒到下一秒变形。 达利时钟已经存在一段时间了,你很可能在你的发行光盘上找到它,甚至可能已经安装在你的系统上。 如果你需要下载副本,请前往 www.jwz.org/xdaliclock。 你甚至可以为你的 Palm 设备下载一个版本。
为了获得特别迷幻的效果,请使用 -cycle 选项运行该程序,你的时钟不仅会从一秒到下一秒变形,还会呈现出流动的调色板。
Marcel Gagné 居住在安大略省密西沙加市。 他是《Linux 系统管理:用户指南》(ISBN 0-201-71934-7)的作者,该书由 Addison-Wesley 出版社出版(目前正在撰写他的下一本书)。 你可以通过电子邮件 mggagne@salmar.com 与他联系。