致编辑的信

作者:Staff

信件

rsync 解决了网络问题

感谢您,也感谢 Mick Bauer 撰写的关于 rsync 的文章 [LJ,2003 年 3 月和 4 月]。rsync 的“拉取”和“推送”能力解决了一个长期存在的问题,即如何在不太麻烦的情况下通过防火墙进行同步。rsync 也比 rdist 更直观。


Tom Kuiper

Pascal 与 C

Pascal 和 C 大约在同一时间出现。就当时而言,Pascal 比 C 更好,但 Pascal 没有走得足够远,C 胜出了。Pascal 启发了 Ada,Ada 很糟糕。C 发展成了 C++,甚至比 C 更半生不熟。Niklaus Wirth 花了二十年才将 Pascal 完全发展成为一个质量与最初想法相符的成熟产品。结果就是 Oberon-2。不幸的是,它来得太晚了。更多信息请参见 www.waltzballs.org/other/prog.html


Donald Daniel

如何验证无线连接?

我想设置一些东西来管理我的无线网络,以便人们必须登录到域。


Aaron Egbert

NoCatAuth,nocat.net,可以满足您的需求。我们计划在下一期报道它。—编者。

会计师的拉丁语

针对 2003 年 6 月刊中的一封信,我受到启发澄清一个错误。Kathy 声称,复式记账中“借记在左,贷记在右”可以用拉丁语的左和右来解释。拉丁语中左和右的词分别是 sinisterdexter。贷记实际上来自 credo,意思是信任,而借记来自 debeo,意思是欠债。


Phil

Linux 如何发音?

我一直在和我的儿子争论 Linux 的正确发音。我说它的发音要么像 finish 中的一样,要么像 helix 中的一样,而我的儿子说它的发音像 Lennox 或 tennis 中的一样。谁是正确的?


Ira Friedman

www.kernel.org/pub/linux/kernel/SillySounds 听 Linus Torvalds 的发音。—编者。

为什么要评论 SCO?

我一直是贵杂志的粉丝和订阅者有一段时间了。然而,最近我感到失望的是,看到你们刊登了对 SCO 的 Linux 产品的评论,鉴于他们起诉了 IBM [LJ,2003 年 6 月]。直截了当地说,鉴于 SCO 的观点,以及他们现在对 Linux 客户的公开恐怖主义策略,发表 SCO 产品评论是不恰当的,并且是对整个开源开发社区的侮辱。


Dave Crown

SCO 从市场上撤回了他们的 Linux 发行版,并声称 Linux 包含从 SCO UnixWare 复制的代码,这在我们已经付印之后。但我们的时机毕竟还不错。因为我们仍然可以访问 SCO 更新服务,我们可以证实 SCO 继续在 GPL 下提供 Linux 源代码:linuxjournal.com/article/6899。SCO 对 Linux 的立场,以及来自开发者和公司的回应,变化太快,无法在月刊中报道。请查看我们的网站以获取最新信息。—编者。

GNOME 2 技巧

我基本上同意 Mark Alford 博士对 GNOME 2 的看法 [Letters,LJ,2003 年 6 月],但我相信一些评论将对他和其他读者有所帮助。

您仍然可以在 Red Hat 8 上使用 sawfish,并从 Extras→Preferences 菜单中配置它,包括键盘快捷键和窗口布局。您需要在您的 .bash_profile 文件中添加以下行

WINDOW_MANAGER=/usr/bin/sawfish
export WINDOW_MANAGER

请参阅 /usr/bin 中的 gnome-wm 脚本。

您可以通过编写 Nautilus 脚本来恢复 GNOME 2 的一些被砍掉的功能。例如,如果您想查看 RPM 文件中包含的文件列表,请在脚本中编写 rpm 命令

rpm -qlp $@ >/tmp/rpmlist.txt
gview /tmp/rpmlist.txt

许多脚本示例位于 g-scripts.sourceforge.net


Hiroshi Iwatani

注意您的许可证 P 和 Q

虽然我的雇主非常支持 Linux(它是我们的主要操作系统)和开源开发,但我们法律部门最近对开源许可证的内容变得非常敏感。具体来说,他们担心一些许可证要求将代码的任何修改分发回原始作者——即使它没有以其他方式公开重新分发。他们还发现了一些许可证的奇怪部分,例如“您可以使用此软件,但如果您来波士顿,您必须请我喝啤酒。”最终结果是,我们现在必须在下载、安装、使用,尤其是修改任何开源软件之前获得法律批准。(他们对专有许可证也同样限制,但这似乎是合理的。)虽然我欣赏一些开源“许可证”的轻松幽默,但似乎我们需要更好的许可标准,以鼓励其在诉讼缠身的 корпоративных 环境中得到采用。


Doug Cooper

一旦您添加了像您提到的那些条款,该许可证就不再是自由软件许可证或开源许可证。这些问题不影响标准的自由软件许可证,例如 GNU GPL 和 Apache 许可证。您能让您的法律部门批准标准许可证,这样您就不需要逐个程序审查了吗?—编者。

自由驱动软件市场

在 2003 年 6 月刊的 Linux Journal 中,约翰的一封信以“自由威胁某些公司”为标题发表。在这封信中,约翰写道,他认为集成图书馆系统 Koha,www.koha.org 和其他自由软件项目对中小型商业软件公司构成威胁。他认为,一个单一的自由软件项目最终可能会主导特定的市场领域,从而排挤商业竞争。我认为他是错的,无论是就 Koha 而言,还是就更广泛的自由软件而言。我无法提供关于其他项目的具体信息,但我可以看到 Koha 如何帮助,而不是伤害图书馆自动化市场。Koha 是一个蓬勃发展的小型自由软件项目。几个邮件列表专门讨论它,近 40 人拥有 CVS 访问权限,并且越来越多的站点使用它。目前,至少有三家商业企业积极参与 Koha 的工作,还有几家为该平台提供商业支持。任何图书馆自动化供应商完全可以采用 Koha 并围绕它创建一个产品——事实上,我鼓励他们这样做。如果 Koha 不能满足他们的需求,也许其他自由图书馆系统之一可以。采用 Koha 的图书馆承担了一定程度的承诺,导致他们回馈更大的 Koha 社区。在某些情况下,这意味着开发新功能或修复 Koha 本身中的错误,在其他情况下,他们可能会聘请某人来做。一些图书馆通过报告错误、编写文档、回答邮件列表中的问题或向没有图书馆背景的开发人员解释图书馆特定的知识来投资 Koha。这种相同的承诺在许多其他自由软件用户中也可见。并非每个人都回馈,但足够多的人回馈以保持社区的活力。


Pat Eyler
kaitiaki/manager,Koha 项目

学习编写软件文档

对于我们编写的每一行代码,我们创建的每个类或函数,都必须有文档。我的教授们都评论过我的文档,或者说缺乏文档。作为一名自学成才的程序员,我认为编码更像是一种艺术形式,而不是一本操作指南。我编写了数百行代码和项目,它们做出了令人惊叹的事情,但没有人能理解我的源代码。现在我正在帮助开发开源项目,使用文档是必不可少的。开源社区把我带入了光明。有了文档,我们可以一起制作美丽的软件。感谢 Linux Journal 使我成为一名全面的程序员。


Carl Jones
东南路易斯安那大学学生

C'est magnifique!

作为一名学徒 DIY 厨师和热情的 Linux 崇拜者,我总是喜欢阅读 Cooking with Linux。几天前,我正在准备一些饼干,这让我想起了你戴着厨师帽的样子。我忍不住拍了一些照片并寄给你!希望你喜欢它们。


Gianluca Insolvibile

Letters to the Editor

/var/spool/fanmail

我必须评论一下 Robert Love 撰写的文章“Introducing the 2.6 Kernel”[LJ,2003 年 5 月]。接受了 14 年严格的网络工程师培训,编程术语总是让我感到困惑。Love 先生使开发人员的术语与我们这些在网络领域的人保持同步,这使它成为我迄今为止读过的最愉快的文章。我实际上理解了内核在做什么,因此,现在我对内部发生的事情有了更大的理解。我希望你能说服 Love 先生为 Linux Journal 撰写所有未来的内核发布文章。


Lyndon Tynes
英特尔解决方案中心网络工程师

请继续关注 Kernel Korner,获取 Robert Love 的更多文章。—编者。

反击 C++ 谣言

为 C++ 社论喝彩。时间在流逝,顽固的 C/过程程序员正在用完借口来回避 C++ 作为中小型项目的合适语言的概念。2003 年已经到来,因此是时候消除一些旧谣言(或者,在某些情况下,回顾一些旧事实)了

  • “C++ 很慢”:现代编译器正在缩小 C/C++ 的速度差距。C++ 传说中的一些性能滞后可能是由于正确(且自动)调用了构造函数和析构函数,这是您无论如何都应该在 C 代码中进行的初始化和清理工作。为了缩小剩余的差距,我们可以用模板编程替换某些对象层次结构,在模板编程中,我们在编译时而不是运行时进行决策。

  • “编译后的 C++ 库彼此不兼容”:编译器正在按照标准划定的界限前进,这意味着这很快将成为过去。

  • “C++ 是两全其害”:这纯粹是一个视角问题:想象一下封装、构造函数/析构函数、异常和继承在需要时的简洁性,加上在需要时指针的速度。

  • “C++ 臃肿而复杂”:这真的是 C++ 还是仅仅是 OO 范式?理解它并编写真正的面向对象的软件需要一些练习,但一旦你理解了它,你就永远不会回头。对于那些彻底的过程程序员来说,想象一下能够将那些清理风格的调用包装到一个在作用域退出时自动(或自动地)调用的函数中。

  • “不是每个人都懂 C++,通用语言是社区风格项目的关键”:虽然在某种意义上这是真的,但改变它的唯一方法是人们下定决心并尝试 C++。在其生命周期的某个时刻,每种计算机语言都是新的,因此不如其他一些语言为人所知。

排除了这些抱怨之后,开发人员现在可以就给定项目应该使用哪种语言做出更明智的决定。


Q

加载 Disqus 评论