读者来信

作者:Staff

读者来信

更正

关于在 2010 年 1 月刊 LJ “他们说过” 栏目中的引言:“我们的行为就好像舒适和奢侈是生活的主要需求一样,然而我们所需要的仅仅是一些让我们充满热情的事物”并非出自爱因斯坦,而是查尔斯·金斯利所说。我很想给您一个链接,但这很容易在谷歌上搜索到。


Jason Gade

他是正确的,那应该是查尔斯·金斯利。—编者。

马可尼?

我注意到在 2009 年 12 月刊第 4 页上,下个月的期刊将聚焦业余无线电。随附的文字写道“……马可尼开创了无线电通信的时代……”。我希望像贵刊这样有声望的出版物不会继续传播马可尼发明了无线电的谬论。毫无疑问,他在自我推销方面很出色,但他并没有发明无线电。许多人为无线电技术的发展做出了贡献,马可尼是其中之一。但如果您坚持只认可一个人,那应该是尼古拉·特斯拉。美国最高法院在 1943 年做出对马可尼不利而对特斯拉有利的裁决,判定特斯拉的专利 (645,576) 具有优先权。请在传播荒谬的谬论之前做一些事实核查。这里有一些链接供您参考:en.wikipedia.org/wiki/Invention_of_radio, en.wikipedia.org/wiki/History_of_radio, en.wikipedia.org/wiki/Nikola_Teslaen.wikipedia.org/wiki/Guglielmo_Marconi


Jeff Harp

Bose?

在 2010 年 1 月刊“当一切都失败时——业余无线电,最初的开源项目”一文中,特邀编辑 David A. Lane,KG4GIY,错误地提到马可尼发明了无线电。事实上,印度科学家 J. C. Bose 爵士才是无线电的真正发明者。他率先使用了铁屑检波器和硫化铅晶体半导体接收器。Bose 爵士发明了喇叭天线,并研究了毫米波和亚毫米波的折射、衍射和色散特性。以上事实在几年前发表在 IEEE 会刊 上。我是一位高级持照印度业余无线电爱好者,并且是印度业余无线电协会近三十年的终身会员。


Ananda Bose, VU2AMB

David A. Lane 回复: 问 100 个人是谁发明了无线电,在那些费心回答的人中,您很可能会得到一个答案,而特斯拉和 Bose 都不会是这个答案。也许这段话应该写成“……几乎自从马可尼 普及 了这东西……”。事实是,历史总是被错误地记住,真正的天才被那些提出参考实现的人遗忘。显然,特斯拉和 Bose 都为将我们带到今天的科学做出了贡献,就像马可尼和摩托罗拉一样。

网络研讨会

我不断收到关于许多主题和问题的各种网络研讨会的邀请。有些不适合我,但有很多适合我。问题是:我的工作安排经常阻止我在网络研讨会举办时收听或参与。我想找到一种方法来“录制”这些网络研讨会,包括所有视频和音频,这样晚上回到家或周末时,我可以筛选并观看其中最相关的活动。使用 Linux 可以做到这一点吗?请指教!


Scott S. Jones

我感同身受。关于网络研讨会,我们遇到几个问题。一个是格式远非标准。另一个是,由于某种原因,许多网络研讨会专门设计为只能实时进行。(我怀疑那些是专门在实时进行演示的时候。)我不认为作为 Linux 用户,我们可以做任何不同的事情,除了在网络研讨会开始时使用屏幕捕获软件包。理想情况下,它们应该在事后存档,这样我们就可以在空闲时观看。我们在 Linux Journal 这里也学到了这一点。我们做了一个直播节目 (Linux Journal Live),事后获得了更多的观看次数。我们的日程安排太满了!—编者。

距离

关于 Dave Taylor 在 2009 年 12 月刊 LJ 上关于计算距离的专栏,在不知道您的系统提供的精度位数的情况下,解决方案仍然非常简单。

您将角度转换为弧度的方式使用了 M_PI。M_PI 是一个单精度浮点数,被“硬编码”为 3.141593 的值。而更精确的 PI 表示可以使用 4.*atan(1.) 获得。(atan(1.) 是角 pi/4,因此 4.*atan(1.) 等价于 PI。

修改已在 Dave 的代码中完成如下,它给出了正确的结果。正如他在文章中提到的,这将使纬度和经度之间的距离给出大 10% 的答案,Dave 的代码提供的答案为 917.984 英里

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

#define EARTH_RADIUS       (6371.0072 * 0.6214)
#define TORADS(degrees)    (degrees * (atan(1) / 65.))

main(int argc, char **argv)
{
   double lat1, long1, lat2, long2;
   double dLat, dLong, a, c, d;

   lat1  = TORADS(atof(argv[1]));
   long1 = TORADS(atof(argv[2]));
   lat2  = TORADS(atof(argv[3]));
   long2 = TORADS(atof(argv[4]));

   dLat  = lat2 - lat1;
   dLong = long2 - long1;

   a = sin(dLat/2) * sin(dLat/2) +
       cos(lat1) * cos(lat2) * sin(dLong/2) * sin(dLong/2);
   c = 2 * atan2(sqrt(a), sqrt(1-a));

   printf("%g\n", EARTH_RADIUS * c);
}

当我教 Bash 时,我经常让学生从 Web 上获取信息,并通过 awk、sed 等工具进行处理。我以前使用过的有趣的项目包括获取世界上任何城市的当前温度、获取头条新闻和获取当前股票报价。感谢 Dave Taylor 和 Linux Journal,学生们能够看到 Linux/UNIX 可以做的事情远比 Windows 梦想的要多得多。


Paul J. Wilkinson

Dave Taylor 回复: 太棒了!感谢您帮助微调代码。

黑暗的日子?

每个月,我都会阅读读者来信部分,而且通常情况下,总会有最终用户抨击 Linux 是为“计算机专家”而设,还没有为大众做好准备。我发现这种态度令人遗憾。随着每个版本的发布,发行版变得越来越好,并且不会遭受我们在 Windows 上看到的持续不断的恶意软件、病毒等攻击。在 2009 年 12 月刊中,一位读者评论说“一切又回到了 MS-DOS 的黑暗日子”。黑暗的日子?我似乎记得在 1980 年代中期,DOS 实际上运行得相当好。让我感到困惑的是,微软继续生产操作系统和产品,这些操作系统和产品存在大量错误和安全漏洞。用户被迫购买病毒和恶意软件扫描程序,这些程序是资源消耗大户,并且正在做一件本来应该从一开始就防止的事情。也许我们都应该将因重新安装、扫描、清理等而损失的时间费用寄给微软——他们似乎在收取许可费方面没有任何问题。这些年来我的员工损失了数百小时的时间又该怎么办?


George

哎,我只希望能解决在 Windows 下为硬件寻找驱动程序所花费的时间!我同意,人们仍然将 Linux 视为一个困难、神秘、仅限命令行的操作系统,这很可悲。这在很大程度上仍然是不熟悉的问题。许多 Linux 新手仍然对其细微之处感到不知所措。尽管如此,对于从 Windows 切换到 OS X 的人来说也是如此,所以我认为这并不是一个真正的 Linux 问题。我认为我们只需要继续在有意义的地方推广 Linux。和往常一样,我的建议是从学校开始!—编者。

等待戈多

关于 Mitch Frazier 的“非 Linux FOSS”(2009 年 12 月):Explore2fs 已经存在了十多年。它按设计工作,但开发速度很慢。写入功能在过去十年中的大部分时间里一直停留在待办事项列表中。我只是厌倦了等待。我在 www.fs-driver.org 找到了一个出色的驱动程序。


Peter Bratton

缓慢或停滞的开发对于小型开源软件项目来说通常是一个事实,这就是为什么帮助支持您认为有用的项目很重要。请注意,在 www.fs-driver.org 提供的驱动程序是免费软件,但它不是开源的。—编者。

和平奖?

来自波特兰 Linux/UNIX 用户组电子邮件列表,作者 Keith Loftstrom

由于诺贝尔和平奖经常颁发给政治家,有些人不同意这些选择。但它也经常颁发给非政治家,他们创造了旨在让世界变得更美好的国际努力。

看看 SC09 所代表的大规模国际努力,并意识到其中大部分始于一位 21 岁的芬兰大学生 Linus Torvalds 的工作,他的名字是为了纪念 1962 年诺贝尔和平奖获得者莱纳斯·鲍林。为了纪念这项国际努力,将和平奖颁发给 Linus Torvalds 是恰当的,也许是在 2011 年 Linux 发布 20 周年之际,即 1991 年 8 月 Linux 公告发布 20 周年,或者在 2012 年鲍林获奖 50 周年之际。

Linux 是有史以来规模最大的国际合作努力之一。它启发了 Ubuntu、One Laptop Per Child 和许多其他全球项目。Linux 以和平方式征服了超级计算机领域、服务器领域、嵌入式计算机领域!Linux 帮助完成了人类基因组测序,帮助保护世界计算机基础设施免受病毒攻击,现在正成为数百万人学习计算机编程和参与新的国际努力的途径。

2007 年诺贝尔和平奖获得者(一位有些人不同意的政治家,请在另一个帖子中表达您的不同意见,谢谢)正在我写这篇文章时为 SC09 做主题演讲——这意味着我们都离决定未来和平奖的人只有三次握手的距离。也许现在是时候通过我们的关系网发出一些信息,看看有什么信息能传到奥斯陆的委员会会议。

根据维基百科上的列表,需要说服的五个人是 Thorbjorn Jagland(主席)、Kaci Kullmann Five(副主席)、Sissel Ronbeck、Inger-Marie Ytterhorn 和 Agot Valle。我们可以从向他们发送挪威语 Ubuntu 光盘开始。

虽然我可以想象 Linus Torvalds 会因受到关注而感到尴尬,但这肯定会让他的父母高兴。这将意味着政治家少获得一个和平奖。

听起来是个好主意。你们怎么看?


Michael Rasmussen

和平奖?给 Linus?我不知道,我读过他发给内核邮件列表的一些帖子。呵呵,开个玩笑,我认为 Linus 所代表的社区当然值得认可。由于该奖项颁发给个人,因此它确实将一些焦点从其他一些杰出的贡献者身上转移开。话虽如此,我可以想到许多更糟糕的获奖者。他得到了我的投票!—编者。

安全提示

Mick,希望您在 DEFCON 过得愉快,以及 2009 年 10 月刊 Linux Journal 中的优秀文章。现在已经没有意义了,但我想我应该提一下,当我旅行时,我会编辑我的 /etc/hosts 文件,为重要的 DNS 名称(我的银行、我的 Webmail 等)添加条目,以减少有人在不可信的 LAN 上欺骗它们的可能性。当我回到家时,我会注释掉这些条目。我不知道这是否真的增加了我的安全性,但我假装它增加了。感谢您的出色工作。


Paul

Mick Bauer 回复: 事实上,您的 /etc/hosts 想法非常棒。DNS 欺骗是许多中间人攻击的重要组成部分,因此当使用不可信的网络时,能够完全跳过 DNS 查找肯定会很有用。

也可能可以运行本地 DNS 缓存守护程序,如 nscd(许多发行版默认都包含),并对其进行调整,以便如果您在旅行前访问过给定的重要站点,您的系统将使用其本地缓存的查找结果,而不是在您在旅途中进行新的 DNS 查找。感谢您传递您的想法和您的赞美之词!

低咖啡因,Android 上的 Amazon EC2

作为 Linux Journal 的长期读者(我从十多年前还在学习时就开始阅读),我想提请您注意 decaf。decaf 是一个用于管理和监控您的 Amazon EC2 基础设施的 Android 应用程序。我们是 Android 开发者挑战赛 2 的决赛选手,在“其他”类别中获得了第六名。(我们有点失望,但为能在比赛中取得如此好的成绩感到非常自豪。)

我们开发 decaf 主要是为了我们自己,但我们正在努力发展一个社区,以使 decaf 的开发可持续。我看到您多次报道过 Amazon EC2,因此,我认为 decaf 可能会引起您的社区的兴趣。

您可以在 decaf.9apps.net 上阅读有关 decaf 的信息。我希望您觉得这很有趣。如果您有任何问题,请提出。


Jurg van Vliet

酷!谢谢 Jurg。我刚买了一部 Droid,所以我得去看看。—编者。

回复:Ruby 文章

针对 2010 年 1 月刊中关于 Ruby 文章的来信:我建议您研究一下 Clojure。这是一种相当新的、基于 Lisp 的语言(根据维基百科,它最初出现于 2007 年),我第一次听说它是一位专业的 Ruby 程序员,他现在对其赞不绝口。他在他的博客 briancarper.net/tag/clojure 上写了很多关于 Clojure 的文章。其中大部分超出了我的理解范围,因为我已经离开编程领域好几年了,但它有实时的代码示例,并且可能比 clojure.org 上的一些枯燥的手册或 FAQ 更容易入门。有趣的事实:该博客本身就是 Brian 用 Clojure 编写的。

Brian 是一个很容易交谈的人,很可能会对在哪里可以了解更多信息或挖掘文章素材提出一些好的建议。

作为旁注,我个人有兴趣看到汇总其他 LJ 读者无疑正在发送关于类似于这封信的电子邮件的所有不同语言。


Marcus Huculak

我们的下一期将刊登对 Clojure 创建者的采访。也许我们可以让我们的网站管理员在 LinuxJournal.com 上发起一项语言投票。这将是非常有用的信息!—编者。

更多关于 Ruby 文章

当我看到 MK 在 2010 年 1 月刊中的来信时,我实际上正处于要写信抱怨你们多年来一直在刊登 Ruby 文章的边缘。当然,我完全同意,而且恐怕我要陷入语言战争的境地了,但是 LJ 中的 Perl 在哪里?如果您是系统管理员,它非常宝贵,但对于 Web 程序员来说,围绕带有 Moose、Catalyst、DBIC 等的“现代”Perl 的所有进展又如何呢?定期关注 CPAN 的奇迹怎么样?我知道这有点神话色彩,但是关于 Perl6 的一些东西怎么样?我知道存在很多语言,坦率地说,任何摆脱 Ruby 的做法都是好的,但是介绍新读者了解 Perl 的深度、广度和未来怎么样?当然,没有多少语言比 Perl 更 Linux 了吧?尽管如此,我还是很感谢这本杂志!


Steve Rippl

您提出了一个很好的观点,Steve。我们会看看我们能做些什么。(不,这不是敷衍,我保证!)—编者。

请求

我希望看到一个 PHP 程序,它可以搜索电子邮件 POP 或 IMAP,然后自动向 abuse@live.com、abuse@gmail.com 等报告诈骗邮件。该程序将查找邮件正文以及标题中的电子邮件地址。该报告将告知相应的电子邮件服务在转发的邮件中找到电子邮件地址的位置。该程序将自动从收件箱中删除邮件。我有超过 150 个域名一直在诈骗我,还有免费邮件服务也是如此。


Stefan Ronnkvist

这听起来很有趣,Stefan。我建议您要么启动这样一个项目,要么在 SourceForge 上搜索看看是否有人已经做了同样的事情。这肯定比手动转发它们要好!—编者。

Linux Mini 与 Mac Mini

我很惊讶我没有看到 Mac Mini 的 Linux 替代品。替代硬件需要小巧且安静(像 Mac Mini)。像 Logic Supply 和 Polywell 这样的硬件供应商有令人眼花缭乱的硬件选择,但成本超过 1000 美元。为什么没有与 Mac Mini 同等或更好的“Linux Mini”替代品,而且价格具有竞争力?

作为参考,一台 600 美元的 Mac Mini (www.apple.com/macmini) 配备 2.26GHz Intel Core 2 Duo、2GB DDR3 SDRAM、160GB 硬盘、千兆以太网、8 倍双层 SuperDrive、NVIDIA GeForce 9400M 显卡,具有双视频端口、USB 和 Firewire 端口、Mac OS X Snow Leopard,空闲时功耗为 14 瓦。


greg bollendonk

我认为问题之一是需求如此之低。对于硬件公司来说,我认为创建 Mac Mini 的 Linux 替代品是可能的,但如果他们只是用它们制造 Windows 终端,他们很可能会卖出更多。

构建像您描述的那样的设备的一种方法是改进瘦客户端。有很多地方出售 Linux 瘦客户端,可以很容易地在其中添加硬盘。例如,Polywell 有几个瘦客户端选项,它们是功能齐全的计算机(至少有一个价格低于 200 美元),只需安装 Linux 即可。—编者。

每月照片

有照片想与 LJ 读者分享吗?请将您的投稿发送至 publisher@linuxjournal.com。如果我们在杂志上刊登您的照片,我们将免费赠送您一件 T 恤。

Letters

这是我们 2009 年 11 月 21 日在佛罗里达州萨拉索塔举行的婚礼照片。看看领带!我的妻子有多酷?投稿人:Kevin P. Biggs。

加载 Disqus 评论