读梁实秋《槐园梦忆》

工作闲暇之时,有幸读到了梁实秋先生的《槐园梦忆》这篇文章。梁实秋这个名字,对于大多数人来说,可能都不太熟悉。此前我亦只是略有耳闻,查阅资料以后才有一个详细的了解。

梁实秋先生早年毕业于清华留美预备学校,后赴美深造三年回国。因为否认文学有阶级性,强调“纯粹的文学”,与鲁迅先生在文坛上笔战八年。此事后来更上升到“左翼作家联盟”与“新月派”的大论战,最后因鲁迅先生去世才停止。后来在抗日战争中,梁实秋先生转移到战争大后方的四川北培(今重庆市北培区),因为发表了“抗战无关论”而饱受批评。在解放战争中,举家迁到台湾,从此定居,亦不再评论政治,穷尽精力于散文写作和沙翁全集的翻译工作之中。由于政治立场迥异,1949年以后的中国大陆,“梁实秋”三个字几成了“反动文人”、“资产阶级走狗”的代表,其文章作品自然不被重视(这跟鲁迅在台湾类似)。幸而如今文化管制有所放开,又得互联网络之便,方能读到这样“纯粹的文学”。

《槐园梦忆》是一篇悼亡文章,悼念的对象是作者的元配夫人程季淑女士。文章的写作背景缘于梁程二人旅居美国时程季淑女士因意外事故客死他乡,梁实秋先生悲痛至极,有感于自己与夫人近五十年来风雨同舟、相濡以沫,写下了此篇回忆性质的悼念文。

文章以时间为主干,以夫妇之情为枝叶。从二人的相识相恋,成婚生子,写到战乱时期的颠沛流离、夫妻重逢,再到定居台湾后举案齐眉,鹣鲽情深。梁先生的笔调一如他的散文,平实而精炼,不着浓墨重彩,贯彻了他自己提出的“绚烂之极趋于平淡”的行文主张。细细读来,除了欣赏文风之独具,更能感受到字里行间浸透着的如流水之深思。整篇文章中不乏不同场景不同时间的细节描写,比如中山公园里的幽会和品茗,比如在台湾遭遇入室劫匪的虚惊。我很惊异作者能把四五十年前的事情记忆得那样一丝不落,但转念一想,唯有情深意切,方能将一切的经历刻骨铭心呵。

梁与程的结合本源自父母的包办,没想到却也是一段美满的姻缘。季淑,人如其名,在她身上几乎具备了一切中国女性的美德。勤劳、温柔、贤淑,识得大体,每每在关键时刻能帮梁实秋作出重要决择。在步入老年之后,更是对梁实秋悉心照料。我还记得文中写到程季淑在梁实秋生日里写给他的祝词:“明年是你的本命年,我写一笔虎,祝你寿绵绵。我不要你风生虎啸,我愿你老来无事饱加餐。”这是朴素却最沉甸甸的期望,忆到此事梁实秋不无感慨地说“无事”“加餐”谈何容易!我但愿能不辜负她的愿望!

也正是程季淑的全力支持,梁实秋才得以在晚年完成沙翁全集的翻译工作。工作完成的时候召开庆祝会,大家都觉得至少应该把百分之五十的功劳归功于程季淑,可见季淑在幕后承担之巨。

能读得这样饱含深情的文字,始令我觉得人生之有幸。高中的时候读了余杰和宁萱《香草山》中“一封小破信,觅得有情郎”的故事,让我相信在这个功利的时代,还有如此纯真的爱情;而如今读到《槐园梦忆》,更让我相信在人心浮躁,暗欲涌动的当今,有这样的爱情值得厮守值得留恋。

新买了一对神兽

如题。工位确定以后,桌子上一直是空空的,除了一个显示器,几本规范,什么也没有了。总觉得要添点什么好,忽然想起网上颇为流行的神兽“草泥马”,到淘宝上搜索一番,果然找得到。(但“草泥马”这词已经被淘宝和谐掉,必须以它的原型“羊驼”为名进行搜索才有结果)

网上售卖这个玩意儿的很多,形象大体上是按照卡通化的羊驼来制作的。但我细细地观察一下,觉得某些型号制作得有形无神,两眼漠然,全然看不到那种恶搞风格里透露出来的诙谐的喜气。后来仔细比较斟酌,选定了比较满意的一款,一共要了两只。分别是棕色款和白色款,二者居然还都有名字,叫做“雷雷”和“萌萌”,果然有当今互联网的特色。价格花费比其它商家所售略高,但其形神兼备,令人蔚为满意。

神兽现在依偎着站在我的桌子上,而我的坐位临近过道,同事每每经过便能看到神兽两只作亲密态,大赞可爱。但能识别此为何物者不多,有人误以为骆驼、绵羊一类。问到我,我也不便直接说出“草泥马”这名字,惟恐谐音让人听了发怒,便委婉地告以“神兽”的大名。若有人追问“神兽”者何,便故作神秘,告之来源于网络,请自行搜索;实乃神兽之名只可意会,不可言传也。

无线路由器功率的一点消息

在无线论坛上,经常看到有人对无线路由器的功率很关心,特别是希望加大覆盖效果的。DD-WRT 和 Tomato 固件都提供了调节发射功率的功能,受到大家的称赞。但是其标称的值是 0-251 mW,真正的效果怎么样,似乎大家都没有一个明确的认识,只是从直觉上相信它可以达到如此的功率。

我曾经在 DD-WRT 论坛上看到过美国 Alaska University 的 tparris 使用实验室的安捷伦频谱分析仪检测过 Buffalo WHR-HP-G54 无线路由器,所以正好把他的结果编译一下,发在这里算是一个参考。

0mW setting = 0dBm output (1.0mW)
1mW setting = 0.1dBm output (1.0mW)
2mW setting = 4.1dBm (2.6mW)
4mW setting = 7.5dBm (5.6mW)
8mW setting = 11dBm (12.6mW)
16mW setting = 13.7dBm (23.4mW)
28mW setting = 16.5dBm (44.7mW)
32mWsetting = 17.0dBm (50.1mW)
50mW setting = 19.5dBm (89.1mW)
64mW setting = 19.5dBm (89.1mW)
80mW setting = 19.7dBm (93.3mW)
128mW setting = 20.1dBm (102mW)
251mW setting = 20.0dBm (100mW)

此处的测量功率是 ch6 通道的发射功率的均方根,阻抗为50欧。

从以上结果可以看到,路由器实际的发射功率不超过 102mW,同时,DD-WRT/Tomato的设置中有效设置区间仅仅是 1-128 。 设置值为 0 时实际还有 1mW 的发射功率,设置值超过 128 时,实际功率并没有提升,而是限制在 100mW 左右。(这个值也是 802.11 无线网络的限制值)

tparris 在他的文章中提到,路由器的硬件部分有一个 AGC 电路(Automatic Gain Control,自动增益控制),它把输出功能限制到了100mW。从软件中是无法将路由器的发射功率提高到 100mW 之上的。他还做了一个小测试,证明了 AGC 电路的确限制了发射功率。

要查看 tparris 的原文请点击这里
同时欢迎到 Wi科技 参与此文的讨论 🙂

给域名解析添加备份

5月19日,国内的免费智能域名解析服务商 DNSPod 遭到大规模的恶意攻击,意外中断服务若干小时。我的博客域名当时也托管在 DNSPod 处,被攻击的时候无法解析域名,幸好自己记得虚拟主机的 IP 地址。当时只好自己在系统中编辑 hosts 文件来手动完成解析服务。

意外发生以后,再考虑到 DNSPod 之前数次被攻击的历史,我决定把域名转移到其它的服务商,更重要的,是给域名添加备份解析服务器。

DNS 作为互联网基础设施,其稳定性是很值得关注的。传统的做法是域名解析服务商(无论是免费解析还是域名注册商提供的解析)提供至少两台服务器用作域名解析服务。比如 DNSPod 就有六台服务器用作免费解析,EveryDNS 有四台服务器。这种设计是为了提高冗余度以增加域名系统的稳定性。对于意外的服务器当机、网络出现故障等问题,这样做是比较保险的。DNSPod 偶尔就有某台服务器要停机维护的情况,但这并不会给正常解析带来什么麻烦,因为有其它的五台服务器正常工作。可是对于恶意攻击,多台服务器的冗余就没有意义了。攻击者在能力足够的情况下(直白的说就是肉机足够多),完全可以利用大流量把所有的服务器同时攻击一遍。而且大部分时候他们都会这么做,要不然只攻击一部分其实没有效果。DNSPod 就这样被大流量攻击打倒,无数的域名便受到牵连。

在台湾网友的博客上看到《如何用xname搭配zoneedit做备援DNS》这篇文章,于是照着做了一下,把自己的域名解析转移到了 ZoneEditEveryDNS。设置上都是大同小异的,简单说一下。

  1. 注册 ZoneEdit 和 EveryDNS 账号,并登录。
  2. 在 ZoneEdit 中添加自己的域名,比如我的就是 xiaoding.org ,然后添加自己的解析记录,包括 A 记录(IP地址)、CNAME 记录(别名)、MX 记录(邮件服务)等等。Nameserver 这个地方,ZoneEdit 会给出自己的两台服务器地址,稍微记一下数字较小的那个服务器的地址。
  3. 域名解析记录添加完之后,选择 ZoneEdit 的 Advanced 页面,打开最下面的“Edit Security Settings”,然后在“Restrict zone transfers to these IP’s”这个编辑框中填入“0.0.0.0/1;128.0.0.0/1;”(不含此处的引号)。注意这个填法将允许所有的区域传送请求,直白的说就是你的域名记录将对所有人公开。这么做是为了方便,因为 EveryDNS 或者 XName 对于他们的区域传送服务器的 IP 说法十分不清楚,而且时间长了也有可能变动。只好图个方便在这里允许所有的人来抓取 DNS 记录。相信一般人在这里也不会藏什么秘密。 😛
  4. 来到 EveryDNS 的设置页面。左边是添加记录的地方,basic 框中填入你的域名,比如 xiaoding.org ,选中下面的“Make domain secondary using”,然后输入刚才 ZoneEdit 的那个服务器的地址,点击“Advanced”按钮,添加就完成了。
  5. 在 ZoneEdit 的 Nameserver 选项中,把 EveryDNS 的四台服务器地址添加进去。分别是 ns1.everydns.net ns2.everydns.net ns3.everydns.net ns4.everydns.net
  6. 设置到此结束。EveryDNS 的服务器会自动地向 ZoneEdit 的 Master nameserver 同步。等几个小时以后可以查询自己的 DNS 记录以便确认是否同步成功。

使用如下命令查询 DNS 的 SOA 记录:

nslookup -q=soa xiaoding.org ns3.zoneedit.com

查询结果示例:

xiaoding.org
        primary name server = ns3.zoneedit.com
        responsible mail addr = soacontact.zoneedit.com
        serial  = 1242714018
        refresh = 14400 (4 hours)
        retry   = 7200 (2 hours)
        expire  = 950400 (11 days)
        default TTL = 3600 (1 hour)

注意把 xiaoding.org 换成自己的域名, ns3.zoneedit.com 换成自己的域名解析服务器(每个人可能不同)。针对每个服务器都查询一次,在返回的 SOA 记录中比较一下记录的序列号是否相同,如果相同即表明备份 DNS 设置成功。这样无论 ZoneEdit 或者 EveryDNS 哪一家有问题,自己受的影响都会小很多。

DNSPod 遭受攻击,博客域名再次转移

国内著名的免费 DNS 解析服务商 DNSPod 在今天凌晨再次遭到攻击。攻击手法是 DDoS,以极高的流量冲击域名服务器和机房网络,使之无法正常提供服务。

我凌晨熬夜的时候试图打开自己的博客,但地址解析失败导致无法打开。今天下午再度尝试,发现在教育网内尝试了几个服务器,还是无法解析我的域名。公网的解析现在应该已经恢复了,我用其它网站提供的DNS测试工具测试结果正常。

这次被攻击给域名托管在 DNSPod 的所有用户带来了极其不良的影响。DNS 域名系统作为互联网基础设施,在整个网络的运行中起到了重要的作用,所以 DNS 失效对于网站来说是灭顶之灾,因为网站与用户就这样生生地隔离开了。这次攻击连著名的 IT 资讯站点 cnBeta.COM 也被波及。从 whois 查询结果可以看到

Domain Name:cnbeta.com
Record last updated at 2009-05-12 05:37:27
Record created on 2003/6/22
Record expired on 2011/6/22

cnbeta 站点也在今天调整了自己的域名解析,以避开 DNSPod 被攻击带来的问题。

经历此事,再加上之前 DNSPod 各种原因遭到攻击的记录,综合考虑我还是决定把域名解析从 DNSPod 那儿转移到国外的 ZoneEdit 和 EveryDNS 上。这么做并非觉得国外的服务就一定能够稳定,事实上 EveryDNS 也有过被大规模 DDoS 攻击的历史。只是我决定了在域名上采用 Master/Slave 体系,由 ZoneEdit 充当 Master Server,EveryDNS 充当 Slave,这样我的域名解析就分布在六台不同地区的主机上,而且这六台主机分属两个不同的服务商。无疑这么做会大大提高域名的稳定性。

对于 DNSPod ,我还是心存感激并且大力支持的。毕竟 DNSPod 在中国这样险恶的环境中坚持着智能解析的免费服务,并且提供了“多线路智能解析”和“URL转发”这样的优秀功能,已经实属不易。这种外部攻击导致的服务故障算得上是意外情况,于情于理都应该宽容一些。至少不能像某些心安理得的人一样,稍有不顺意的地方开口就骂。

一直以来我都在找机会建议站长吴洪声提供 Zone Transfer 功能,这样就直接支持 DNS Backup 了,无论是 DNSPod 充当 Master 或者是 Slave ,共对于稳定性的提升都是有巨大帮助的。迫于网络环境的险恶,我选择了暂时搬到国外的两家免费解析服务。当然,在合适的时候,我会回来的。