向下兼容

向下兼容是好是坏?

传说Microsoft就是因为良好的向下兼容的作风赢得了今天的市场。可有些时候,向下兼容会带来很多的包袱。

这几天一直在为安装操作系统的事情发愁。这也是我聊向下兼容的起因。

最近买了一套服务器,配置如下:(终于用上XEON了 ^_^)
ASUS P5BV-E
INTEL XEON E3110
KINGSTONE ECC DDR2 2G × 2
Seagate ST3500320SV × 4
Seventeam 500w

冲着提高磁盘I/O的方向,准备做RAID 0。因预算紧张,没有买SCSI/SAS硬盘。
安装操作系统时遇到问题了,因为Windows2003的安装光盘没有集成RAID的驱动程序,在安装操作系统的时候需要按F6来用软盘安装驱动程序。如今网龄稍微年轻的人可能都不曾见到软驱为何物,为啥还要用软驱来装驱动呢?在主板上保留软驱接口是一种向下兼容的行为。也许服务器上也还有很多的软驱存在,也许品牌服务器上还提供软驱。

硬件提供商们能不能给个可选的方案,比如用光盘或者U盘来安装RAID驱动?

没有软驱,我开始找另一种解决方案:自己集成带RAID驱动的系统安装光盘。
Windows 2003的集成光盘,一般都是采用配置OEM信息。手工集成OEM信息虽然简单,资料也多,但是毕竟手工容易出错。好在广大的程序员提供了好用的基于UI操作的集成工具 nlite 就是用来集成Windows 2003的好工具。如果要集成 VISTA 那么可以使用 vlite。在寻找集成工具的同时,我还发现一个好东西,就是下载操作系统更新补丁的工具,使用这个工具可以把操作系统历史的更新补丁下载到本地,然后配合 nlite/vlite 将补丁集成到安装光盘中。服务器嘛,安全第一!

安装好操作系统,还要安装其他的驱动程序如网卡。当我把主板带的驱动光盘插入光驱后,一度让我以为是光驱坏掉了。其实我的光驱是一个CD-ROM,而驱动光盘是DVD,为什么要用DVD作为驱动载体发布呢?是因为数据量太大?我自己检查了一下,光盘中的数据才400多M!此时我又在想,为什么不考虑一下向下兼容呢?明明没有那么的数据,非要用个DVD来装,真不成DVD光驱比U盘的普及度还高?

向下兼容/不兼容?是好是坏呢?这个还是要看市场,看大家有没有这个的需要!Python 3.0 就是迈出了不向下兼容的一步,是好是坏,让时间来说明吧。

PS:这次买的硬盘,有一块中奖了。4块硬盘中开包的第一块硬盘就中奖了–坏的!我担心其他硬盘也有问题,就用 Linux 上的 badblocks 检查到半夜!淘宝上的卖家服务态度不错,硬盘已经发回去了。下周一就回到手里了。


QUAKE LIVE™ is now available to the public as an open beta.

你还在玩着那种用鼠标点啊点的网页游戏吗? 太老土了!看看 id software 给我们带来了什么!

http://www.quakelive.com

Quake Live 开始公测了,这是 Quake3 基于浏览器的版本。 上班族可以利用休息时间好好的放纵一下了,Quake Live对机器配置要求不高,目前支持 Windows + IE or Firefox 组合,其他平台正在开发中。

目前游戏玩家众多,如果进来的时候不巧,那么要经过漫长的排队才能进入游戏。

好像在国内 Quake 的群众基础不如 CS。 不知道在 Quake Live 上能遇到多少国内的玩家。

我实在想知道在技术上他们是怎么实现的?


摩尔定律

托摩尔定律的福,如今的PC硬件实在是便宜啊!一般主流的PC也就是3-4k。我们这个价格拿到其它产品上去试试:

一个单反相机,最低也要4k+

一个智能手机,也不便宜2-4k+,比较下体积和功能,除了能打电话哪一点强过PC?

所以嘛有钱还是买个PC玩,超级适合宅男!

以上这些也是就是随便感慨一下,别太过认真的去比较。电子产品始终是消费品,就是图一个新鲜劲。过了瘾就完了。PC 可是我吃饭的家伙!


Bruce Lee

Bruce Lee (李振藩) 一直都是我的偶像。曾经认真的追随过他,却也忘记他很久了。现在央视热播的《李小龙传奇》又唤醒了自己。

下面是一段采访 Bruce Lee (李振藩)的视频。让他亲自来介绍他的武学,哲学。


Moving to WordPress from Google Blogger

Blogger的稳定性实在人揪心,国内网络时常不能访问。今天从朋友那里借来一块宝地,在上面搭建起了WIMP环境。很久都没有手工搭建,陌生了很多,所以改用Windows上特有的安装方式。setup->next->finish.

安装WordPress以后才发现,原来WordPress提供从多种Blog系统导入的功能,很幸运,Google Blogger也在其中。按照WrodPress上的链接一步步的操作以后,却一直没有成功导入。总是提示: We were not able to gain access to your account. Try starting over.

操起史上最强大的troubleshooting工具->Google,看看别人有没有过相同的遭遇。“90%以上的问题都是别人曾经遇到过的”–在IT领域这话很有道理!发现有人支了不错的一招,传说 wordpress.com 可以导入Google Bloger,于是一种曲线救国的道路就此展开。

先在wordpress.org上注册一个免费帐户,通过此帐户从Google Blogger导入。然后再将wordpress.com的信息搬到自家的server上。这方法够cool。可等我操作的时候又有新的问题出现。在wordpress.com上注册的账户死活访问不了。http://tairan.wordpress.com 链接不上!

看来只能明天到公司里试试了。

Update:

  1. wordpress.org -> wordpress.com 后者是wordpress.org提供的商业blog空间
  2. wordpress.com 和 blogger 差不多,受阻于国内网络原因而不能正常访问。
  3. IIS的确不靠谱,各种权限都试过以后,还是不能把wordpress.xml文件上传。改用apache在内网导入wordpress.xml后切换到IIS中

所看见的并非是事情的全部。

十一回家,因为没买到坐票,只好在动车组上站着,中途见一对母女(女孩大约3-4岁的样子)上车,在火车行驶的过程中,这位母亲到处走动并告诉人家说她手上的车票是有坐的,但是位置被别人占了。很多好心人都劝她去跟别人理论,凭什么有座票却没座位,何况还带个孩子。这位母亲推说不想跟别人吵架,非要等列车员来解决。原本如此简单的事情,让周围的人议论纷纷,有的说这位母亲比较软弱,有的给她打气,最终只见说话不见任何人以任何实际行动来帮忙。
此时,我十分的看不顺这些动嘴皮子的,所以就在心里盘算着该怎么帮忙。心中设想着各种情况出现的可能,把最坏的暴力解决问题的想法都有了。
也许是我想的太多,也属于沉默的大多数。
列车员来了,列车员带着母女两人,来到了座位旁。拿着票说这母女有车票,座位在这。可座上的人却说她也有座票,而且座位也是这里。??? 怎么会出现同一张座位有两张票?列车员拿着票,左看右看,上看下看,许久后,对这母女说,你的票是假票。传说中的假火车票就这样横空出世了。
列车员把母女两人又带到了列车长那里,后面的事情就不知道了。。。。
上面这件事,让我思考了很久。
1. 助人为乐,没有错。该出手时就出手
2. 做事情要考虑周全,因为不是什么性命攸关的事情,所以还是要考虑一下的,千万不能动不动就想到暴力解决问题。暴力只会带来更多的暴力,除非对方就是欠扁!
3. 我们看到的是事情的全部吗?如果不是在列车员几经研究才发现出是假票,难道我们拿着假票理直气壮的去要座?

– 写到这里,不知该怎么继续了,我开始迷惑自己刚开始坚持的观点了。刚刚脑袋里闪现出我们经常看电视遇到的情形,某人做了很多好事,却因为别人看到某人恰巧做的一件不好的事情而产生种种的误会。所以还是要冷静的分析,多沟通。把事情的全部过程弄明白了再发表意见。也许这是我想表达的意思。


不仅要造砖,还要和泥,还要讲究方法!

传说中的程序高手说写程序就像搭积木,把各个模块做好然后搭在一起就好了。

以前我都是把焦点放在积木上面,想着怎么造积木。积木的制造方法有个准则就是:高内聚,低耦合。

然而当积木造好以后却不知怎么搭起来。

此时我们需要的就是和泥,用水泥把各个砖头连接起来,从而造成高楼大厦。水泥也有另一个说法叫:胶水层,顾名思义就是像胶水一样把各个模块连接起来。

积木和胶水都有了,怎样才能更有效的把大楼搭建起来呢?设计模式,最有名的就是4人组的23个设计模式,当然我们不能局限于这几种模式,这些模式是前辈们总结整理出来的,具有一定的通用性和代表性。在实战中我们也要把自己的一些常用方法总结出来,如果也同样具有通用性的话,那可是造福人类了。

积木,胶水。其实也是软件分层开发的原因之一。

  • September 25th, 2008 11:09:00
  • By Daniel Wang
  • Comments (0)

杂记

我们可爱的人民公仆,他们是在掩耳盗铃?总是限制着我们,难道整个国家都要做愚民吗?

今天终于把自己的域名转接到了Blogger上了,Google官方的设置说明需要变得有中国特色才行,通过Google找到了几个ip,作为自己域名的A记录地址才可以用过 http://blog.tairan.org 访问我的blog. CName 设置是不顶事咯,如果你也需要Google一把,准能有不错的收获。

今天还动手做了一次 SVN 版本库的同步 使用 svnsync 命令。目前只支持单向同步。这意味着写操作都要到提交到主版本库,正常的话,一定是看得比写的多,所以这种方式能满足要求。具体同步步骤如下
1. 创建一个新的空版本库,as 从版本库
2. 在从版本库的hook目录中建立一个空的文件, pre-revprop-change.bat
3. C:>svnsync init 从版本库URL 主版本库URL
4. C:>svnsync sync 从版本库URL

另外可以在主版本库中增加hook,让从版本库在每次主版本库改动后同步。有时间好好研究下 SVN HOOK,貌似很有意思。

now, 已经是2008年8月8日了,今天晚上奥运开幕式,期待惊喜!


Vim

VIM 学习笔记

设置文件模板,通常使用两种设置文件模板的方法
在使用这两种方法之前都必须打开文件类型识别

filetype plugin indent on

1. 从模板文件中加载

autocmd BufNewFile *.py 0r $VIM/vimfiles/templates/python.tpl

文件必须存在,这里使用的是Windows版本的默认目录结构

2. 通过程序来设置文件中的模板

autocmd BufNewFile *.py
            \call setline(1, '#!/usr/bin/python')|
            \call setline(2, '# -*- coding:utf-8 -*-')|
            \call setline(3, '# $Id$')|
            \call setline(4, '# vim:set shiftwidth=4 tabstop=4 expandtab:')|
            \call setline(5, '')|
            \exe 'normal G'

在vim中一行命令如果需要折行的话在下一行的开始使用 \ 符号,| 作为管道符,把多个命令穿起来作为一组命令执行

两种设置方法采用实现 BufNewFile 事件,并自动执行特殊命令的方法来实现模板操作的