Archive for December, 2006

新年

Sunday, December 31st, 2006

祝大家2007新年快乐 :)

献一首ABBA的经典老歌:Happy New Year下载

你有我没有

Wednesday, December 27th, 2006

今天在公司下一个800KB的文件,花了40多分钟。回家上新浪才知道海底光缆断了。这个世界上最不怕断海底光缆的是美国人,自家网络上的数据包路由来路由去也没出国界;咱们不行,网一断,大家都要叫,MSN上不了,RSS读不成,软件下不来…我们既依赖国外的网络基础设施,也严重依赖国外的网络内容。中国人开发出了世界上最优秀的下载软件 – NetAnts, FlashGet, Thunder, Net Transport,和咱们的网络基础环境不无关系。

看来无论是靠网络做生意的还是普通网友,有必要制定一个B计划,至少:

1. 拥有一个QQ号;

2. 拥有一个国内邮箱;

3. 记住至少一个国内搜索引擎网站的URL。

光缆迟早要修好,备战备荒不能松,呵呵。

哪儿来的声音

Tuesday, December 26th, 2006

近来发现我的T43在使用垂直滚动条对文档上下滚屏的时候,如果耳朵靠近显示屏可以听到细微的“滋滋”声(不是风扇声)。一开始还以为是鼠标的摩擦声,改用键盘上的小红点,情况依旧,只要翻动页面就有声音,鼠标停下来,声音消失。

不知道哪里来的声音,各位有IBM本本的帮助verify一下,看能不能reproduce :)

我已入座

Thursday, December 21st, 2006

我搭上了换乘Sametime 7.5的末班车。

我对ST 7.5″只看不买”的态度源于对NotesBuddy (NB)的喜爱。在ST 7.5出世前,IBM内部有三个主要的Sametime客户端:Sametime 3.1、IBM Community Tools (ICT)和NotesBuddy。从功能和架构上看,ICT最强;从高效易用的IM看,NotesBuddy最好用;而Sametime 3.1是真正在市场上销售的产品。因为喜欢ICT的SkillTap, vote等功能,在很长一段时间我是同时使用ICT与NB的。

NotesBuddy的不同之处在于可以访问Lotus Notes的邮件(使用一个hook DLL),可以用作一个简化的Notes Client;而它的Instant Message功能则要求事先安装Sametime 3.1,它借助ST的通信类库提供简单易用的用户体验。

ICT的快速兴期和它基于SWT、与Eclipse血缘较近的特性,使得统一多个Sametime client的状况变得不再困难。在ICT code base的基础上,结合了部分已有插件和NotesBuddy备受喜爱的功能,最终是基于Eclipse RCP的Sametime 7.5横空出世,而ICT和 NotesBuddy停止了开发。ICT的一个公用版也已经在11月底关闭

当使用NB的隐藏功能 – Ctrl + Shift + F12,看到和你一样使用相同客户端的人越来越少的时候,做出新的选择是自然之举。套用Bob Sutor关于OpenXML与ODF的论述:”Sametime 7.5 is about the future, NotesBuddy is about the past, and we vote for the future.”

PS:为断后路,我已卸载了NB 4.16和ST 3.1 – byebye。

真实的中国网络

Wednesday, December 20th, 2006

推荐一篇三联的文章:《越狱》的中国隐秘流行

其实这篇文章并没有多少新颖的内容,只是说出了台面下人人皆知的东西。至于中国的地下字幕翻译社区,连纽约时报都发文报道过;从开源的角度看,基于community的open translation是一种新模式,它是open  source  software的自然延伸,并成为跨语言知识传播的新兴渠道。

博客搜索、评价系统

Monday, December 18th, 2006

从丁峰的blog上看到了这个帖子,里面还有对本人博客系统的机器评估。这个博客搜索、评估系统来自有道,看上去挺搞笑的。这个自动评价应该是用若干个模板拼接出来的,应该不算是机器智慧的那种;还有它的性别分析(对我的评价是:张岭 (Zhang Ling’s .(Zhang L.) 100.0%男性倾向,0.0%女性倾向),怎么算出来的?怕不是随便忽悠一个值然后套用一个评语吧。

号称现在网上流行自动写诗软件,有道大概感染了一点。好玩归好玩,要能好用、常用,还要继续努力。

时代周刊把“You”选定为2006年度风云人物,似乎是很有社会基础的。

进版画面

Friday, December 15th, 2006

水木社区”求职IBM“版现在用的进版画面是5年前我在水源混的时候用大萝卜编辑器做的,它结合了IBM官方logo特征并借用了ThinkPad上的红、绿、蓝彩色标识,用ASCII码绘出,很像那么回事儿。水源”IBM技术版”撤版后(实际上是改成了”笔记本电脑“版)闲置起来,到如今又重新派上了用场,呵呵。

IBM OmniFind Yahoo! Edition

Thursday, December 14th, 2006

IBM与Yahoo!合作开发的IBM OmniFind Yahoo! Edition (IOYE)正式推出。通俗点说,这个免费软件的作用就是提供定制的中、小规模网站的站内检索(文档数量在50万以内)。IBM提供基础的搜索功能,如Web crawler、为Lucene引擎提供语言分析工具LanguageWare和基于UIMA的文本分析运行环境 (IBM于近期已经把UIMA 2送入Apache UIMA孵化去了);Yahoo提供服务界面。

预测会有很多网站将继续使用Google的链接服务提供互联网搜索;对公司等机构的对外隔离或有IP限制的内网来说,免费的IOYE还是颇有吸引力的。

不要对企业内网的搜索质量有太高期望,无论是Google Appliance还是OmniFind,WWW和Intranet的文档链接模式差别很大,基于链接的迭代算法不那么奏效。好在Intranet的可管理性比WWW强很多,Web Master可以利用预先定义的策略和约束等来改善查询质量。

Rational Software Architect 7.0

Tuesday, December 12th, 2006

IBM最新版开发工具Rational Software Architect 7.0已于近日发布,新的V7版本集成了众多工具和企业、SOA开发的组件,整个产品共有12张CD(可以刻在一张D9上了)。

RSA V7包含的功能组件如下:

功能部件 描述
统一建模语言(UML)建模 使用户能够创建 UML 2.0 模型。通过使用独立安装的变换,可以将这些模型变换为代码或其他模型。
UML 至 UML 变换和模式 根据现有的模型内容,自动生成新的模型内容。
C++ 建模与变换 根据 UML 设计模型,自动生成 C++ 代码。
Java(TM) 建模与变换 根据 UML 设计模型,自动生成 Java 代码。
EJB 建模与变换 根据 UML 设计模型,自动生成 EJB 代码。
WSDL 和 XSD 建模与变换 根据 UML 模型,自动生成使用 Web 服务描述语言(WSDL)和 XML 模式定义(XSD)语言表述的 Web Service 合同。
美国国防部体系结构框架(DoDAF)支持 用于根据 DoDAF 描述复杂系统的体系结构。此功能部件根据 UML 以可视、文本和表格格式阐述系统结构。
UML 至 CORBA 变换 根据 UML 模型,自动生成通过 CORBA IDL 表示的组件接口规范。
WebSphere(R) Business Modeler 将 IBM WebSphere Business Modeler 中的业务流程模型显示为 UML 2.0 活动模型。
Rational Rose(R) 模型导入 迁移 IBM Rational Rose 模型,包括那些可能已在模型中定义的任何定制属性。
Rational XDE(TM) 模型导入(仅适用于 Windows) 迁移 IBM Rational XDE 模型,包括任何可能已应用于那些模型的定制 UML 概要文件。
Rational SoDA(R) 集成(仅限于 Windows) 与 IBM Rational SoDA 产品集成。使用建模产品提供的信息来生成报告和文档,包括 Microsoft Word 文档。
C 和 C++ 开发工具(CDT) 提供用于构建和运行经过优化的 C 或 C++ 程序的工具。可以在 C 或 C++ 集成开发环境(IDE)中使用 CDT 来编辑代码、生成 makefile 以及调试和启动应用程序。
J2EE 和 Web Service 开发工具 提供用于开发 J2EE 应用程序和 Web Service 的工具。
Java 客户机应用程序编辑器 提供用于通过 SWT、AWT 或 Swing UI 库构建和测试图形用户界面 Java 客户机应用程序的工具。
Web 开发工具 提供用于通过 JavaServer Faces、JavaServer Pages、Servlet 和 HTML 构建 J2EE Web 应用程序的工具。
Struts 工具 提供用于通过 Apache Struts 框架开发 J2EE Web 应用程序的工具。
Crystal Reports 工具 提供了一些可视工具,这些可视工具用于开发需要使用 Crystal Reports 所提供的报告功能的应用程序。
门户网站工具 提供用于创建、定制、测试、调试和部署门户网站应用程序的工具。门户网站开发工具支持 IBM WebSphere Portal V5.1 和 V6.0。
J2EE 连接器(J2C)工具 提供一组健壮的工具,以帮助您创建适用于 CICS(R) 和 IMS(TM) 系统的 J2C 客户机应用程序。可以使用数据绑定向导来创建使用 COBOL、PL/I 和 C 语言的 Java 数据编组代码。
代码复审 检查代码是否符合规则和最佳实践原则。”代码复审”突出显示潜在的问题并提供代码更改建议,从而帮助您提高代码质量。在某些情况下,”代码复审”还会自动应用修订以确保一致性。
Test and Performance Tools Platform(TPTP) 提供用于测试应用程序的 Eclipse 工具。此工具的功能包括概要分析、监视、日志记录、组件测试(Junit)以及静态分析或代码复审。
体系结构规则 提供一些工具,用于自动检测结构模式和反模式以及创建依赖关系的可视图形,以确保 Java 应用程序在体系结构方面的完整性。
Rational ClearCase(R) SCM 适配器 提供 IBM Rational ClearCase SCM 和 ClearCase MVFS 插件,这些插件使您能够创建 ClearCase 版本对象库(VOB)中软件工件的受管版本。如果还安装了 ClearCase VOB 和视图服务器,则这些插件将使用快照视图和动态视图。
Rational RequisitePro(R) 集成(仅限于 Windows) 提供紧密集成的需求管理工具。如果还安装了 IBM Rational RequisitePro,则在需求与软件工件之间提供跟踪功能。
Rational Unified Process(R)(RUP(R))流程顾问程序和流程浏览器 提供流程顾问程序以便在您开发软件时提供区分上下文的指导,并使用 IBM Rational Software Development Platform 和流程浏览器来提供与当前任务、工件和工具相关的帮助。
可复用资产规范(RAS)支持 提供标准的方法来对一组相关文件进行打包和解压缩,以便在小组成员之间高效地共享这些文件。
创建变换 提供用于创建定制变换以及定制现有变换的工具。变换用于自动生成模型内容和实现代码。
API 迁移 帮助您将用户编写的插件和 pluglet 从 Rational UML V6 建模产品中提供的可扩展性 API 迁移至 V7.0 中提供的 API。
Pluglet 提供一个环境,用于创建可用来对工作台进行扩展的小型 Java 应用程序。Pluglet 比完整的 Eclipse 插件更易于开发和测试。它们提供了一种很好的方法来使您了解某些可扩展性 API。
插件开发环境(PDE) 提供用于创建、开发、测试、调试和部署 Eclipse 插件的工具,这些插件可用于对 Eclipse 环境进行扩展。
Eclipse 技术可扩展性 使您能够扩展基于 Eclipse 工作台的环境的功能。可扩展性是通过对应用程序编程接口(API)、扩展点和实用程序进行组合实现的。
建模可扩展性 使您能够对应用程序编程接口(API)、扩展点和实用程序进行组合,从而对基于 Eclipse 工作台的环境的建模和开发功能进行扩展。
数据工具 提供用于定义和处理数据库的关系数据库工具。您可以定义并处理表以及视图和过滤器、创建并处理 SQL 语句或 SQLJ 文件以及创建并处理 DB2(R) 例程。还可以使用这些工具来生成 SQL DDL 文件、DADX 文件和 XML 文件。
WebSphere Application Server 开发工具 提供用于开发 WebSphere Application Server 工具。
WebSphere Application Server 编译时依赖项 提供为 IBM WebSphere Application Server 构建、编译、调试和部署应用程序时所必需的组件。
IBM WebSphere Application Server Express V5.1 提供 IBM WebSphere Application Server Express V5.1 作为目标运行时环境。
IBM WebSphere Application Server V5.1 提供 IBM WebSphere Application Server V5.1 作为目标运行时环境。
IBM WebSphere Application Server V6.0 提供 IBM WebSphere Application Server V6.0 作为目标运行时环境。
IBM WebSphere Application Server V6.1 提供 IBM WebSphere Application Server V6.1 作为目标运行时环境。

ThinkPad

Sunday, December 10th, 2006

说起IBM,老百姓最熟悉的可能还是IBM的笔记本电脑ThinkPad了。一台崭新的ThinkPad,也许是学生朋友们在圣诞节能得到的最好礼物了:-)

很多人都知道ThinkPad的研发基地是在日本大和的IBM Yamato实验室(目前Lenovo和IBM共用Yamato实验室),根据Wikipedia所述,ThinkPad的设计灵感源自日本的午餐包装盒

ThinkPad并入联想后,在新产品上做了一系列的细小改动,如增加了Windows键、宽屏、去掉TouchPad鼠标键上的红色条、非黑色的外观等。随着IBM在ThinkPad品牌上的淡化,Lenovo一定会带来更多的改变和增强。期待ThinkPad可以在联想、在中国做的更加成功。

这是Lenovo的官方博客: Inside the Box – A computer enthusiasts view of Lenovo computers,分享关产品设计与创新的思考。另外早上在论坛上看到几则有关ThinkPad的帖子,很强,分享一下:

报告导演,有人不听话

Saturday, December 9th, 2006

第13位大众评审团的决定和我不谋而和。本来以为是东方卫视事先下了套,可看袁鸣的反应和临时加的广告又不太像,应该是个突发事件。三名法官在1分钟内做出的最后决定对这期节目来说是没有问题的。不过对于整个节目计划来讲,可能产生一系列问题,比如事先签订的特邀厂商、广告商会不会受影响;开了大众评审造反的先例,如何防范?相信东方卫视的B计划应该可以很好的解决这些难题,比如搞一集公益类节目,两个队比看哪个募集的捐款多,失败方不淘汰。

呵呵,作为观众,还是不要太操心喽。

Apprentice第六季

Saturday, December 9th, 2006

Apprentice第六季从纽约移师洛杉矶,将与明年1月初在NBC开播。希望ETC能够在亚洲同步播出,这样就能在家看了,呵呵。

ODF & OpenXML

Saturday, December 9th, 2006

Bob Sutor,IBM负责open souce的副总裁,他在自己博客上发表的文章”IBM votes NO on Open XML in ECMA“成了这周圈内最热门的讨论贴之一。无论来自哪里、持有什么样的观点,这些讨论总能给人带来更多的思考。

最佳实践 - 从GB2312编码的WordPress博客系统升级到UTF-8编码

Wednesday, December 6th, 2006

本人博客网站在今年7月从blogchina移植到了租赁虚拟主机上的WordPress(WP)系统。在文章搬家的过程中,由于blogchina采用了GB2312编码,当时为了省事儿,直接写了程序自动导到WP上并把WP的缺省编码从UTF-8改成GB2312以正常显示中文字符,现在看来这个决定并不聪明。原因有3:

  • 由于GB2312页面无法混合显示多语言文字,在世界都开始变平的情况下,未能与世界接轨;
  • 在非中文环境的操作系统中,如英文版Windows/Linux下,显示页面为乱码,而这些系统通常对Unicode字符都可以正常显示(需要相应字体);

于是下决心把目前采用GB2312的”遗留系统“升级到UTF-8,并保持原有帖子正常读取、显示。 中间尝试过的方法、走过的弯路不必细说,今天该升级工作顺利完整,全部用户数据转成UTF-8,前台的PHP显示也完美支持。具体方法如下:

1. 备份全部博客文章

备份是所有系统升级前的必经之路,WordPress的备份功能好在不仅可以备份数据,它能连通DDL一起都保存在一个文件中,直接运行该文件中的SQL语句就能重新建表并导入数据。备份前必须前激活WP的备份插件,见图1:


图1 激活WP备份插件

2. 文章备份
我3年多的帖子纯文字部分总共才1M多一点,用HTTP方式直接下载就可以了,下载后得到一个.gz的压缩包文件,内有.sql文件一个,见图2、3:

图2 保存备份文章

图3 压缩的文章备份

3. 解压缩.sql文件并转码

用支持编码转换的文本编辑器打开(我用的是UltraEdit),把该文件转换成UTF-8编码。在Ultraedit中的做法是选择File- >Conversions->ASCII to UTF-8 (Unicode Editing),另存为。中文字符从GB2312转到UTF-8,存储由2个字节变成3个,所以文件将有所增大,见图4的比较(转换后的文件大了近 200KB):

图4 转码前、后备份文件大小比较

4. 修改备份文件建表语句中使用的缺省编码

把SQL建表的default encoding,从”latin1“改成“utf8”,注意utf和8之间没有横杠。本人系统中共11张表,11个表定义全部修改替换,如图5:

图5 修改表定义缺省编码

至此,数据准备工作完成。

5. 删除老表

登录到WP的数据库管理Web界面(http://mysql.yourname.com),点击当前blog数据库显示属性,见图6:

图6 删除全部数据表

依次删除全部11张表(点击红叉)。

6. 更改数据库编码

把当前数据库缺省的非UTF-8编码修改成”utf8_general_ci“,见图7:

图7 修改数据库编码方式

7. 执行修改后的SQL恢复数据
点击Web管理页面的”SQL” tab,从本地文本编辑器中copy整个备份文件并粘贴到SQL文本框内,点击Go执行SQL、导入数据。如果正确无误的话,会显示succesful。见图8:

图8 执行SQL重新建表恢复数据

8. 修改WP系统中的wp-db.php文件

在wp-db.php文件里,数据库建立连接的代码行后加入“mysql_query(“SET NAMES utf8”);”,这个重要环节的贡献源自此文。见图9:

图9 修改访问数据库的编码形式

9. 修改WP的缺省locale

OK,整个编码转换过程基本完成。重新登录系统(会发现表示乱码的”???”问号,不用管它),在”Options“->”Reading“选项中把原来的”GB2312″改成”UTF-8″,保存、属性,所有???问号字符变成正常的中文字符。

10. 收尾

如果对WP的header,sidebar等theme文件做过定制,进入相应管理选项手工删除其中的乱码文字,重新输入。至此,采用GB2312编码的WordPress系统顺利升级成UTF-8。

电视直销卖软件

Sunday, December 3rd, 2006

用电视直销方式来卖软件,国内我知道的只有橡果国际一家。如果电视机上能装反弹出广告窗口功能,橡果国际恐怕凶多吉少,可橡果国际偏偏就是能把网易拍,背背佳、好记星卖的大赚特赚。这很像国内的互联网市场,“白骨精”们用google搜索、MSN聊天,丝毫不能撼动百度、腾讯的大火特火。土归土,土中有乐,土中有新,土中亦有黄金屋。

说实话,我很佩服通过电视直销来卖软件,不是创新是什么?操盘手软件的广告极其通俗易懂,有旁白讲解,有显身说法,通篇没出现过一个软件专业词汇,谈论的只有一个词,一句话:赚钱,用软件赚钱。把需求还原给客户,这个广告做到了。

利用电视购物,可以为创智赢家节目组提供一个比赛选题:让两个队伍在东方CJ频道推销商品(衣食住行都成),在限定时间内销售金额最多者胜出。这个选题Apprentice在QVC上用过,很有意思。李大嘴的无烟锅、唐伯虎的含笑半步癫肩负着的娱乐大众的任务,终于能发扬光大了。

陪审团

Saturday, December 2nd, 2006

一言不发的陪审团,又送走了一位玩家,今天的结果,袁鸣的那句话不知道对场上的陪审团起了多大的影响。这个结果多少让部分观众继续相信东方卫视和其他国内上星台一样,根儿上还是个地方台。

曾经看过一部美国电影,名字忘掉了,整部电影场景都发生在法庭的一间会议室里,陪审团成员坐在一起讨论案情、回忆、争辩、攻击,最终发现了案情疑点。陪审团显然不是完美的制度(只要有人存在,完美就不存在),大多数人还是认同陪审团制度的合理性。

接受事实吧, 创智赢家接过辛普森案的接力棒,继续着对国人民主制度的启蒙教育。