作者文章: Fenng

期望之后的失望-小评侯捷的《Word排版艺术》

侯捷的《Word排版艺术》出版了,前一段时间据说还在西单图书大厦签售,颇有一些明星出书的味道,可惜那天实在太忙,否则近在咫尺(我上班的公司就在西单图书大厦旁)一定要去看看热闹场面喽。

因为这本书的先声夺人,所以到侯捷的站点上去下载了样章来看,第一感觉真是不错的,看后自己还写了一点不为人注意的感想。

期待之语

对侯捷《Word 排版艺术》的期待
因为自己基本不会编程,所以侯捷先生的那些备受好评的大作也只能是浅尝辄止了,在翻看这些图书的过程中,留下了一个很深刻的印象:排版都做得很棒。后来看侯捷的网站,居然提及这些书都是用Word排版的。再后来看到侯先生说要出版一本关于Word排版的图书,可真的勾起了我的兴趣了。

侯先生写过多少经典的程序我并不清楚,但是他出版了很多书籍我是了解一点的。更为重要的是:这些图书据说都是由自己排版制作的。想想看,30多本图书的排版下来将会积累多少宝贵经验。虽然,Word的所见即所得让不少人以为已经明白了排版是所谓怎么回事,但是实际上我们看到的排版格式风格良好的文档是少而又少。文档的重要性是不言自明的,不过,有的时候对越简单的东西的掌握往往不得要领,这的确是个苦恼的事情。所幸的是,《Word 排版艺术》即将出版了。

  我对这本书充满期待。

直接印象

当然没有调查就没有发言权,以上也仅仅是我自己的一点感慨而已。上个周四,中午恰好有空,特地跑到西单图书大厦去,想买这本书,老实说,自打从网站上看到这本书的封面之后就感到不是很舒服,用隶书做书名在IT书籍里面似乎不是很多,希望出版社倒是用过不少,可能给我留下了太糟糕的印象吧。

到了书店,一路寻到那本书面前,迫不及待的翻看了一会,兴致已经大减:虽然是一本关于排版艺术的书,但是里面似乎并没有多少艺术的成分,好多地方用的居然是”隶书”字体,对侯捷的这个做法很不理解,他在书中也说宋体是最为人接受的字体,但是对自己采用了那么多隶书居然没有什么解释,难道仅仅是因为个人喜欢?

继续阅读

如何用APT维护Red Hat Enterprise Linux (RHEL)

Linux系统维护中令管理员很头疼的就是软件包之间的依赖性了,往往是你要安装 A 软件,但是编译的时候告诉你X软件安装之前需要 B 软件,而当你安装 Y 软件的时候,又告诉你需要 Z 库了–好不容易安装好 Z 库,发现版本还有问题……可能很多朋友都有过这个经历。其实开源社区早就对这个问题尝试进行解决了,不同的发行版推出了各自的工具,比如Yellow Dog 的 YUM ,Debian的 APT (Advanced Packaging Tool)等。而这些软件也被开源软件爱好者们逐渐移植到别的发行版上。

Redhat 企业版 Linux 的的升级往往给管理员们带来不少问题:网站下载速度太慢,不够安全……当然了,更多的人是无法更新的–版权问题。经过一段时间的比较 ,感觉使用APT维护RHEL有着特殊的便利性。(有的朋友可能会说,YUM 也不错阿!是的,YUM 在很多时候表现的确不错,不过如果使用的Linux是RHEL的话,很难找到适合 YUM 的资料库,”巧妇难为无米之炊”。) 现在把具体方法介绍给大家作为参考。

继续阅读

书写历史的甲骨文–ORACLE公司传奇

按:这是这篇文章在 2009 年年底修订的版本,从成稿以来的第三次修订,补充了若干新发现的信息。仅供参考,如有谬误,敬请指正。所有信息来自公开资料,恕不负责信息准确性。

1. ORACLE公司之起源

很难想象,ORACLE 公司的这一段传奇居然要从 IBM 公司开始。

1970年的6月,IBM 公司的研究员埃德加·考特 (Edgar Frank Codd) 在 Communications of ACM 上发表了那篇著名的《大型共享数据库数据的关系模型》(A Relational Model of Data for Large Shared Data Banks)的论文。这是数据库发展史上的一个转折。要知道,当时还是层次模型和网状模型的数据库产品在市场上占主要位置。从这篇论文开始,拉开了关系型数据库(RDBMS)软件革命的序幕。

虽然早在1970年就诞生了关系模型理论,但是市场上迟迟不见关系型数据库管理软件的推出。主要原因是很多反对者认为关系型数据库速度太慢,比不上当时的层次式数据库。值得好笑的是 IBM 虽然1973年就启动了System R的项目来研究关系型数据库的实际可行性,也没有及时推出这样的产品,因为当时IBM 的的 IMS(著名的层次型数据库)市场销路不错,如果推出关系型数据库,牵涉到 IBM 很多人的自身利益。再者,IBM 庞大复杂的官僚机构处在决策上远不那么灵活。

1977年6月,Larry Ellison 与 Bob Miner 和 Ed Oates 在硅谷共同创办了一家名为软件开发实验室(Software Development Laboratories,SDL)的计算机公司(ORACLE公司的前身)。那个时候,32岁的Larry Ellison,这个读了三家大学都没能毕业的辍学生,还只是一个普通的软件工程师。公司创立之初,Miner是总裁,Oates为副总裁,而Ellison,因为一个合同的事情,还在另一家公司上班。没多久,第一位员工Bruce Scott(用过ORACLE数据库软件的人都知道有个Scott用户的吧?没错,就是这个Scott,至于Scott用户的密码Tiger,那是Scott的女儿养的猫的名字。Scott工号是4)加盟进来,在Miner和Oates有些厌倦了那种合同式的开发工作后,他们决定开发通用软件,不过们还不知道自己能开发出来什么样的产品。Oates最先看到了埃德加·考特的那篇著名的论文连同其他几篇相关的文章并推荐Ellison和Miner也阅读一下。Ellison和Miner预见到数据库软件的巨大潜力(跟着 IBM 走,没错),于是,SDL开始策划构建可商用的关系型数据库管理系统( RDBMS )。

Oracle Company Gang of Four, Oracle公司创始人
图1 左起 Ed Oates、Bruce Scott、Bob Miner、Larry Ellison

很快他们就弄出来一个不太像样的产品,或者具体的说,更像一个Demo。根据 Ellison 和 Miner 他们在前一家公司从事的一个由中央情报局投资的项目代码,他们把这个产品命名为 ORACLE。因为他们相信,ORACLE(字典里的解释有”神谕, 预言”之意)是一切智慧的源泉。1979年,SDL 更名为关系软件有限公司(Relational Software,Inc.,RSI),毕竟”软件开发实验室”不太像一个大公司的名字。1983年,为了突出公司的核心产品,RSI再次更名为ORACLE (全称为Oracle Systems Corporation)。

Oracle_Company_Building.jpg
图2 美国 Oracle 公司总部一瞥

关于第一版和第二版的开发过程,现在能知道的是 Bob Miner 负责数据库引擎的部分,而 Scott 负责 SQL 的部分。Oracle V1 是在 PDP-11 上开发的,用的 PDP 汇编语言,机器有着”高达 128 KB” 内存。Oracle V2 也是在类似的开发环境下写出来的,编译后的文件有 … 100K 之巨。那是个内存稀缺的年代。

未完待续…


注:关于 Oracle 最初和 CIA 合作的项目,根据 Bruce Scott 的回忆,项目代号是” ORACL”,没有字母 “E”。

Updated:Bruce Scott, the co-founder of Oracle says, “I remember him very distinctly telling me one time: Bruce, we can’t be successful unless we lie to customers.” And adds: “All the things that you would read in books of somebody being a leader, he wasn’t. But he was tenacious; he would never give up on anything.”

“甲骨文这个译名来自台北故宫博物院,当时看到中国的甲骨文英文译名是oracle,考虑到,甲骨文是中国最早的文字,是用来占卜的,这和用户利用关系型数据库存储数据,并预测未来有隐喻的类似之处。不过,发展到今天,企业IT更趋向一种精确的占卜工具”。来自 @刘松

书写历史的甲骨文–ORACLE公司传奇(4)

跨上巅峰

“搅浑水”是Ellison的一项绝技。在1995年巴黎举行的欧洲信息技术论坛会议上,因为发言在盖茨之前,Ellison在即兴演讲中介绍了网络计算机(Network Computer,NC)的概念(其实也就是唱反调),所谓NC指的是配置简单却能充分利用网络资源的低价电脑,最为重要的是,它不需要操作系统,或者更准确的说,不需要微软的操作系统。Ellison希望借此来抵制微软的强势,彼时 Windows 95 刚刚发布,风头正健。很快,ORACLE联合IBM、Sun、Apple和Netscape在1996年制定了网络计算机的标准,但事实上人们从头到尾没有看到一台真正的NC生产出来。这次的演讲在业界引起了轩然大波,通过这个事件,ORACLE公司吸引了足够多的注意力,同时也让人们看到ORACLE公司对于网络的巨大信心(或者说成功达到了放烟雾弹的效果)。

1997年6月,ORACLE第八版发布。ORACLE8支持面向对象的开发及新的多媒体应用,这个版本也为支持Internet、网络计算等奠定了基础。同时这一版本开始具有同时处理大量用户和海量数据的特性。这个版本也算可圈可点了。

1998年9月,ORACLE公司正式发布ORACLE 8i。”i“代表Internet,这一版本中添加了大量为支持Internet而设计的特性。这一版本为数据库用户提供了全方位的Java支持。ORACLE 8i成为第一个完全整合了本地Java运行时环境的数据库,用Java就可以编写ORACLE的存储过程。对,Java,只要是能够打击微软的武器,ORACLE都要派上用场。ORACLE8i 添加了SQLJ(一种开放式标准,用于将SQL数据库语句嵌入客户机或服务器Java代码)和ORACLE interMedia(用于管理多媒体内容)以及XML等特性。同时,ORACLE 8i 极大程度上提高了伸缩性、扩展性和可用性以满足网络应用需要。接下来的几年中,ORACLE陆续发布了8i的几个版本,并逐渐添加了一些面向网络应用的新特性。面对开源运动的蓬勃发展,ORACLE自然不甘落后,1998年十月ORACLE发布了可用于Linux平台的ORACLE 8 以及ORACLE Application Server 4.0,随后不久,ORACLE又发布了ORACLE 8i for Linux。在 .com大潮中,ORACLE是站在风口浪尖的弄潮儿.

在2001年6月的ORACLE OpenWorld大会上,ORACLE发布了ORACLE 9i。在ORACLE 9i的诸多新特性中,最重要的就是Real Application Clusters(RAC)了。说起ORACLE集群服务器,早在第五版的时候,ORACLE就开始开发ORACLE并行服务器(ORACLE Parallel Server ,OPS),并在以后的版本中逐渐的完善了其功能,不过,严格来说,尽管OPS算得上是个集群环境,但是并没有体现出集群技术应有的优点。在完全吸收了Rdb(ORACLE在1994年收购了Compaq公司的Rdb数据库,此前Rdb属于DEC公司,DEC公司在VAX上实现了第一个可以商用的Rdb集群数据库)的一些技术优势之后,ORACLE终于推出了真正的应用集群软件。RAC使得多个集群计算机能够共享对某个单一数据库的访问,以获得更高的可伸缩性、可用性和经济性。ORACLE 9i的RAC在TPC-C的基准测试中打破了数项记录,一时间业内瞩目。这个新的数据库还包含集成的商务智能(BI)功能。ORACLE 9i第2版还做出了很多重要的改进,使ORACLE数据库成为一个本地的XML数据库;此外还包括自动管理、Data Guard等高可用方面的特性。

历史还在继续

2003年9月8日,旧金山举办的ORACLE World大会上,Ellison宣布下一代数据库产品为”ORACLE 10g”。ORACLE应用服务器10g(ORACLE Application Server 10g)也将作为甲骨文公司下一代应用基础架构软件集成套件。”g”代表”grid ,网格”。这一版的最大的特性就是加入了网格计算的功能。何谓网格计算?网格计算可以把分布在世界各地的计算机连接在一起,并且将各地的计算机资源通过高速的互联网组成充分共享的资源集成。通过合理调度,不同的计算环境被综合利用并共享。ORACLE宣称10g可以作为网格计算的基础,矛头直指最大的敌人IBM的”随需应变”!看来,ORACLE公司已经把这一次的”赌注”押在了网格计算的大市场上。但前景如何?让我们拭目以待。

如果说,IBM是IT产业中的一头巨鲸,那么ORACLE一定就是一条大鲨鱼:咄咄逼人,善于进攻。就在2003年6月初,ORACLE突然宣布51亿美金收购仁科(PeopleSoft),业内再次震动。此举又一次露出ORACLE 一贯善于进攻的本性。要知道,ORACLE在发展过程中很少对企业进行收购的,那么收购仁科目的何在?首先,ORACLE觊觎企业应用软件市场已久,但苦于不能进一步扩大市场分额,尤为重要的是,一旦成功,可以直接对最大的敌人IBM进行打击,还可以阻击SAP等巨头的强势。时至今日,ORACLE依然以不达目的不罢休的态势和仁科缠斗,结果如何,让我们拭目以待。

“人生最大的快乐是击败敌人”,Ellison一定很喜欢这句话。

后记:2004年12月13日,Oracle 公司宣布签订了以每股26.50美元、总计约 103 亿美元的代价收购 仁科(PeopleSoft) 的最终协议。历时十八个月的争斗终于尘埃落定。

EOF