读者来信
读者来信
赞扬大胆呼吁抵制 Novell
我想写信是因为您似乎因您措辞清晰的博客而受到一些批评。您可能已经很清楚这一点,但 Vaughan-Nichols 一直在发表,我也一直在类似的已发表文章中试图传达这一点。只有那些多年来观察过微软商业策略的人似乎才能理解您声明的关键要素。
因此,为了帮助抵消一些批评,我想说谢谢您坚持立场,立足于实质,并坦诚直言。
—
马克·雷斯
注:这封信是对专门发表在 www.linuxjournal.com 网站上的博客文章的回应:“Novell 正在为微软的枪装弹药”,www.linuxjournal.com/node/1000129 和 “与微软达成五年协议以抛弃 Novell/SUSE”,www.linuxjournal.com/node/1000121。—编者注。
马塞尔·加涅专栏
在 2006 年 11 月的读者来信栏目中,马塞尔·加涅写道:“除了极少数例外(例如 DeSouza 先生),我对我的文章得到的都是赞扬。”
请允许我成为加涅先生的另一个例外,并加入那些认为加涅先生的文章风格极其令人恼火的人的行列。通常我只是扫描文章寻找实际内容,因为那些无聊的废话太俗气和令人厌烦了。询问了我部门周围的人(这里有很多《Linux Journal》的狂热读者),没有人因为这种风格而费心去阅读这篇文章。
—
克里斯·罗素
向马塞尔道歉,因为不恰当地借用了他的风格,弗朗索瓦为一些人奉上甜美的白葡萄酒,为另一些人奉上浓郁醇厚的红葡萄酒。我们的大多数读者都喜欢马塞尔的专栏。您的例外受到尊重和记录。—编者注。
给编辑的信
每次我开始一个新项目时,《Linux Journal》都会抢先一步发表一篇介绍文章。当我想要使用 PPC 时,我的新期刊就到了。当我在阅读关于 Qtopia 的文章时,我的新期刊就到了。当他们介绍诺基亚 770 时,我的期刊也到了,告诉我关于它的 UI 的一切。
我不期望每篇文章都对我意义重大,但我确实期望每期都能有所收获。告诉我们关于 x264 的信息很棒(特别是关于 QuickTime 用户的部分),但本期杂志的其余部分需要重新聚焦。
我想看到什么?关于 Zaurus “Sharp ROM” 如何组装的技术讨论怎么样?关于如何让 770 的窗口系统为工作站工作起来的讨论怎么样?关于 Qtopia 手机的文章怎么样? Trolltech 是否提供 GPL 手机版本用于新的 Wi-Fi IP SIP 电话(例如,WIP300)?关于这些方向的增长趋势,我可以继续说下去。
—
J.
感谢您的建议。我们欢迎这样的意见。—编者注。
NAT 上的 P2P
我很喜欢 Girish Venkatachalam 在 2006 年 8 月刊《LJ》上发表的关于开发跨 NAT 的 P2P 协议的文章。我对其中一些断言特别感兴趣,并想知道 Girish 是否可以提供一些参考资料。
特别是,“至少 50% 的最常用的网络应用程序使用点对点技术。” 这似乎不太对。
我一直认为,由于基于连接,TCP 比 UDP 更容易进行 NAT,尽管一些 TCP 应用程序通过在数据报的应用层部分包含 IP 地址(例如“正常”模式下的 FTP)使其变得更困难,这需要 NAT 路由器检查和修改每个 FTP 数据报。
—
鲍勃
SSH 和 DenyHosts
关于 SSH 字典攻击的黄色警告 [《LJ》,2006 年 12 月,George Belotsky 的“几乎属于您自己的服务器”],请尝试使用出色的 DenyHosts (www.denyhosts.net)。
DenyHosts 监控您服务器的传入连接(主要是 SSH,但也可以是 FTP、POP 或任何其他带有登录名/密码和日志文件的内容),并通过自动将条目添加到 /etc/hosts.deny 来阻止源 IP 地址。
我一个月前在一个全新的 Web 服务器上运行了它,它已经禁止了超过 7,000 个地址!
此外,您还可以与 DenyHosts 的网站共享您的黑名单,从而形成一个真正的坏人的超级黑名单。
—
卡洛斯·维达尔
Java Java Java
我一直在等待、等待、再等待关于 Java 的文章。关于 Java 小程序(Ajax 在 Ajax 之前)、Java servlet、Swing(以及真正的跨平台的东西)怎么样?我期待听到和阅读相关内容。
—
马克·莫伦达
我们正在制作一篇这样的文章!—编者注。
Linux 上的 PlayStation 游戏
在 2006 年 5 月刊的《LJ》中,有一篇 Dee-Ann LeBlanc 关于上述主题的文章。不幸的是,Dee-Ann 推荐的模拟器仍然可用,但不支持 Linux;他们的 Linux 工程师离开了该项目。 但是,一切还没有结束;Linux 不会被击败。有一个新的 Linux 模拟器正在启动,名为 PCSX2,可以在 pcsxii4unix.sourceforge.net 找到。新版本尚未完成;他们需要帮助。
感谢《LJ》成为大陆上最好的 Linux 杂志。永远记住:有 Linux 用户,然后才是社会上的其他人。
—
德斯·卡文
一个 Linux,多种面孔
在他的信中 [2006 年 12 月刊《LJ》],乔恩·亚历山大描述了他如何通过使用不同的桌面登录来让他的朋友感到惊讶。如果他真的想给他的朋友留下深刻印象,他可以登录多个桌面,然后在它们之间切换。他甚至可以包括几个远程桌面以增加效果。此外,不要忘记 Linux 支持的虚拟桌面。
—
詹姆斯·诺特
偷窃的老师
阅读乔恩“疯狗”霍尔在他题为“索韦托:人民的力量”的文章中的经历 [参见 2006 年 12 月刊《LJ》的 UpFront 栏目] 并将其与几年前我们计算机俱乐部的一次经历进行比较,这很有趣。
俱乐部委员会决定,如果俱乐部成员将他们多余的计算机设备捐赠给俱乐部,俱乐部将把这些设备捐赠给索韦托的一所学校,并帮助他们将其设置为本地网络,随后连接到互联网。
安装过程很顺利,本地网络也运行良好;然而,当安装团队到达学校将学校连接到互联网时,他们发现了什么?每一件设备都被盗或损坏了。随后发现,一些老师应对部分盗窃行为负责。
—
阿尔夫·斯托克顿
最优 awking
我承认我没有阅读 Dave Taylor 的原始文章“分析日志文件”[2006 年 10 月刊《LJ》]。但我确实看到了“最优 awking”的信件 [2006 年 12 月刊《LJ》的读者来信]。作为一个老“位操作者”,我对通过重新排序原始代码来提高运行时间很感兴趣
awk '{ print }' access_log | sort | uniq -c | \ sort -rn | grep "\.html" | head
到
awk '{ print }' access_log | grep '\.html' | sort \ | uniq -c | sort -rn | head
现在,我并不是一个真正的 awk 人,但我很好奇 awk 程序做了什么。显然,它只是一个昂贵的 cat 版本——也就是说,它将其输入复制到 stdout,保持不变。在这种情况下,为什么还要有它呢?此外,为什么要使用 grep?相反,使用 fgrep,在这种情况下,它产生相同的结果,但开销略低
fgrep '.html' access_log | sort | uniq -c | sort -rn | head
[这]应该产生相同的输出,并完全消除 awk。在这种情况下,没什么大不了的。不幸的是,许多新手会从杂志上拿起一个脚本,并在不真正理解它的情况下使用它。所以,我对例子有点挑剔。对于一次性操作,这没什么大不了的。但我对效率很着迷——我想这来自在 1MHz 8080 上编程的经历。
不幸的是,我没有 Web access_log 来做任何测试,看看这是否真的有很大的区别。
—
约翰·麦考恩
一点优雅
我犹豫是否要对像 Dave Taylor 这样的权威人士提出异议,但 [他的脚本] 使用重复的(并且在许多情况下是冗余的)系统调用和除法来实现简单的乘法可以完成的事情 [参见 Dave 2006 年 12 月的专栏]。它还将结果转换为错误的单位。(参见man units进行讨论。)
一个实现相同效果的简单算法被嵌入到一个测试工具中,如下所示
#!/bin/sh # Script for numeric scaling - $1 = number, $2 = iterations for (( i = 1; i <= $2; i++ )) do ki=1024 mi=$(($ki*$ki)) # 1048576 without typo risks gi=$(($ki*$mi)) # 1073741824 without typos value=$1 if [ $value -lt $ki ] ; then units="bytes" elif [ $value -lt $mi ] ; then units="KiB" div=$ki # < 1 Mi, so calculate Kibytes elif [ $value -lt $gi ] ; then units="MiB" div=$mi # < 1 gi, so calculate Megs else units="GiB" div=$gi # >=1 gi, so calculate Gigs fi if [ $units != "bytes" ] ; then # scale value appropriately value=$(echo "scale = 2; $value / $div" | bc ) fi echo "$value $units" done # End tcon2
在配备 AMD 2500 芯片的 HP 笔记本电脑上运行每个算法 1,000 次迭代表明,修改后的版本花费的时间(实际时间、用户时间和系统时间)大约是原始版本的四分之一。
—
艾伦·洛克
awk 并非如此笨拙
我认为 Dave Taylor 没有给予 awk 足够的赞誉 [参见 Dave 2006 年 11 月的专栏]。我无法访问相同的 Web 文件、日志或 Linux 版本。但是,我知道他的解决方案可以用 awk 完全编写。使用 AIX 和 HP-UX,我伪造了一个邮件日志文件,在 date 命令上作弊,并测试了我的 awk 解决方案。
下面是我认为可以复制 Dave 示例的 awk 代码
#!/bin/sh LOGFILE="/home/limbol/logs/intuitive/access_log" awk ' ( index($0, YESTERDAY) ) { hits++; bytes+=$10 next} END { printf("Calculating transfer data for %s\n", YESTERDAY) printf("Sent %d bytes of data across %d hits \n", bytes, hits) printf("For an average of %d bytes/hit\n", (bytes / hits) ) printf("Estimated monthly transfer rate: %d \n", (bytes * 30) ) } ' YESTERDAY="$(date -v-1d +%d/%b/%Y)" ${LOGFILE}
—
罗里·哈蒙德
为什么是 Ubuntu 然后是 KDE?
我发现有点讽刺的是,您选择了 Ubuntu 作为 2006 年编辑选择的 Linux 发行版,但您选择了 KDE 作为您的编辑选择桌面环境。在我看来,如果您要选择 Ubuntu,您会选择 GNOME,如果您要选择 KDE,您会选择 Kubuntu。您选择 Ubuntu 而不是 Kubuntu 有什么原因吗,或者您只是指通常的 (K)ubuntu 作为您的编辑选择发行版?
PS. KDE 万岁!
—
杰夫
正如我们在评论中说的那样,我们也觉得很困惑,为什么 Ubuntu 似乎很受欢迎,但研究数据表明人们更喜欢 KDE 而不是 GNOME,差距很大。也许人们将 Ubuntu 的所有变体都称为 Ubuntu,即使他们真正使用的是 Kubuntu。或者,也许其他人像我们《Linux Journal》中的一些人一样。我们《Linux Journal》中的一些人安装 Ubuntu,然后安装和使用 KDE(因此基本上将其转换为 Kubuntu)。—编者注。
勘误
在 2006 年 12 月刊中,George Belotsky 的“几乎属于您自己的服务器”中的一些代码被错误地格式化。有关文章的更正版本,请参阅 /article/8337。