delphij's Chaos
选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……
一般来说DNS和MX都需要做冗余。前者的冗余和容灾要求要高于后者。
DNS的冗余通常需要做到跨ISP,甚至跨大洲。由于安全和性能方面的理由,提供权威DNS解析的服务器都不应同时作为缓存DNS服务器;此外,实践上权威DNS服务器应该是受保护的管理服务器的slave,而不应直接在权威DNS服务器上操作(读、写分开),这样可以有效减少由于修改操作所导致的downtime。
MX的冗余可以是跨网段,也可以是跨ISP甚至跨大洲的。如果条件不具备,甚至可以在同一网段,但这会增加网络设备或机房故障所导致的downtime风险。不同的MX在会话阶段的过滤策略应该是一致的。
Read more...前一段时间commit了来自XFree86 -> NetBSD -> OpenBSD的x86emu,这是一个大约9千行C代码的x86实模式CPU模拟器。
由于 amd64/EM64T “long mode” 不支持先前 x86 保护模式中的 “vm86” 扩展(虚拟实模式环境),因此,这个模拟器使得 FreeBSD 能够在 amd64(EM64T) 平台上支持 vesa、dpms 等功能了。
这些改动同样适用于 RELENG_6、RELENG_7、RELENG_8(前两个可能需要略微做一点点改动)。具体的changeset包括:
r197009 - 导入原版(OpenBSD 4.6)x86emu
r197019 - 对x86emu进行一些修改使其适用于 FreeBSD 编译环境,连接到build上。(需要说明的是,x86emu是跨平台的)。
r197021 - MFC时需要:建立目录。
r197022 - 把vesa和dpms代码复制到新位置。(注:svn无法有效地在一次commit中表达把文件挪到新的位置,并进行修改这样的操作。为了便于在 diff -c 时能够看到改动,将这个mv操作拆成了cp和rm)
r197025 - 对vesa、dpms代码进行修改,不再使用vm86而改为使用x86emu。删除原先位置的 vesa 和 dpms。
r197042 - bz@ 补齐了我在 197025 中忘记删除的一个文件。
r197081 - 告诉 make delete-old 需要删除的文件。
r197085 和 r197109 - 启动时可通过 hint 配置直接进入高分辨率模式。
还有一些小问题需要修正,不过大体上是做完了。其中,x86emu的代码经过OpenBSD和NetBSD两拨人的修整已经很清晰易读(主要是译码和执行单元两部分)。
Read more...借着美国劳工节长假去了一趟美国西部的重要城市—-华盛顿州的西雅图,以及俄勒冈州的波特兰。
西雅图是美国西岸的重要城市,因西雅图酋长而得名。
西雅图的地形与旧金山有些想象,但不比旧金山险峻。这个城市的咖啡消费量极大,第一家星巴克咖啡即发源于此,在Pike Market的星巴克门口拍到了一位常年在此演唱的吉他手。
由于地理位置的原因,西雅图的气候比较多云雨。有朋友说,在此间住的太久会有得抑郁症的危险。不过,在西雅图的那几天天气都相当晴朗。西雅图的著名地标是 Space Needle,这是一座为1962年世博会设计的建筑,其瞭望台高达520英尺。
由于去西雅图的时候是搭的早上的飞机,在飞机降落的时候,云层中隐隐约约露出了这些高层建筑。在这些在云层之上每天工作的人们是否已经习以为常?
西雅图周边地区有两家对此间经济非常重要,也是大家非常熟悉的企业—-波音和微软。为了让更多的人了解航空科技,波音特别提供了针对公众的 Future of Flight 来展示波音的民用飞机装配过程,不过,比较遗憾的是装配车间不允许携带相机、手机等摄像器材。
停机坪上是经过改装的波音 747 “Dreamlifter”,用于运载准备在其他地方组装波音 787 “Dreamliner” 飞机部件。
另一家公司是 Microsoft,总部位于Redmond市。
而全球销售额最大的会员制批发超市 Costco 总部也在附近的 Kirkland 市。因为时间关系,没有在 Kirkland 长时间停留。
Read more...今天到了Seattle,在一家很便宜的酒店住下。酒店发给我一张密码卡,用来上那里的无线网。摆弄了几下发现:
加密模式是open,所以需要自己加密数据了。
密码的实现方式是劫持DNS,然后指到1.1.1.1。
最搞笑的是,实际上不登录,IP访问也是通的……
话说,其实我觉得在网关上做点规则比DNS劫持要简单的多?有谁知道他们为啥会这样实现吗?
Read more...那啥,我是写给那谁看的。
共同点:持有价格低于其价值的资本。
不同点:套牢的含义是,在资本价格较高时买入并持有(此时抛出会导致损失);抄底的含义是,在资本价格较低时买入并持有(通常,是在价格较低甚至最低的时买入)。
嗯。
Read more...So finally Doug Rabson has make it. It’s written with D Language and is in git here.
Read more...版本控制、持续集成测试、自动化回归测试等等,都拦不住不靠谱的开发人员和盲目引入新特性而不关注可用性和可靠性的架构师。某开源项目真是快让我发疯了,明明都已经第十几个小版本了……
Read more...两年前我在一篇blog中解释了 为什么应该用 ntpd 而不是 ntpdate 来对时间。今天整理旧机器的时候观察了一下Windows 2000 Server的行为。
首先关闭时间服务(Windows Time Service),设置sntp(net time /setsntp:“time-a time-b”,然后把时间人为调快2分钟,然后启动时间服务。
乍一看时间还是快2分钟,打开系统时间一看,秒的部分整整慢了将近一倍,直到时间和真正的时间逐渐接近之后时钟速率才逐渐追赶上来。
所以,Windows的时间服务在差距不太大的时候也是会主动避免跳变的。这里就不再强调这样做的重要性了。
Read more...先胡乱记一笔。
利用原子操作(CMPXCHG)来修改正扫描的栈帧上的返回地址,令其指向修正垃圾收集表的子程序。这样做的好处是避免了垃圾收集器在程序运行过程中为配合垃圾收集器运行而需要引入的额外开销(垃圾收集器通过扫描栈来了解应用程序目前知道的内存,并将其从准备释放的内存列表中删去,因此,垃圾收集器会希望在扫描栈的时候那个栈帧不发生变化,或者能够检测到这种变化,通常的做法是垃圾收集器提供一套机制来让正在运行的线程阻塞,而这种逐栈帧扫描并配合适当的返回指针修改的做法,则可以几乎完全不阻塞正在运行的线程,同时避免了在收集器不动作时的日常同步开销)。
Read more...最近一段时间在看的一个网站 Accounting Coach。之前在贷款的时候在这里了解的关于贷款现值、PMT等等概念;其他一些概念,如摊销等等,也很有用。
Read more...