今天

今天起床很早,希望冬眠就此结束。
 
下雨了,空气暖暖的,湿润润的,春天了吗?
 
反正今天的空气,据我所知,比苹果那股空气,感觉要舒服多了。
 
比昨天更好。昨天,满楼都是倒霉的油漆味Baring teeth
 
难道油漆工也在担心失业吗?
 
还是找不到满意的工作,不过今天心情很好。
 
很想希拉里上台,带来的空气要像今天一样Wink
 
 
看History频道,先是讲启示录,后是讲Michel de Nostradamus。
 
我们这个时代怎么了?又平庸又灾难深重。
 
我觉得,如果冥冥中真的有操控宇宙的力量,人类的自我挽救的自由意志也不会是垂死挣扎吧?
 
比较喜欢里面一个科学家的话: A prophecy is not a  prediction..
 
这句非常有存在主义味道的话,很让人有热爱生活,好好生活的冲动。
 
因为只有一种可能性的生活简直糟糕透顶。
 
但事实上,每个生命的瞬间都将把一个必然的存在变为无数可能的结果之一。
 
 

展望:2008年5大技术改变世界

新的一年总是为IT经理们带来新变化和新挑战,2008年也不例外。尽管有很多新兴技术可能改变当前的标准,有五大技术最有可能在2008年给企业带来重大的变化:虚拟化,苹果公司的角色和管理跨平台企业,托管数据中心,video over IP网络和现场感知(presence-aware)应用程序。

这五大技术的共同点就是改变你的IT规划、重新部署你的网络基础设施、管理你的桌面以及改变你构建和部署应用程序的方法。

虚拟化

虚拟化在过去一年有很多进步,2008年这个技术将继续成为头条新闻。尽管这个概念并不新,虚拟化却正在进入数据中心的每个角落,在更多的情况下成为非常有用的工具。

Kusnetzky Group公司首席分析员Dan Kusnetzky对各种虚拟化技术进行研究,跟踪多家通过虚拟网络、虚拟存储、运行虚拟应用程序的虚拟桌面、甚至使用虚拟安全的公司。他注意到在这些领域中进行的更多的活动,如VMware的 Fusion允许在Mac OS上运行虚拟机器,新Linux版本具有虚拟化功能,Intel和AMD制造具有虚拟化处理功能的芯片组。Kusnetzky表示在硬件中处理运行虚拟化机器需要的开销使其运行速度更快。

2007年各家公司无需首先在用户的硬盘上安装软件就能够提供虚拟软件、或者通过网络加载新应用程序的能力。Thinstall、Appstream、Altiris以及微软等公司提供的产品一直在改进、增加新功能。

虚拟化的好处:首先,应用程序具有最新的补丁程序,升级极为容易,尤其适用于对于给整个企业带来安全隐患的应用程序,如Web浏览器和其他因特网联接程序;其次,用户能够从任何连接到因特网的计算机进行工作,如机场或者复印店;最后,IT部门推出内部开发的应用程序时,能够快速部署,只有需要的用户能够使用。

基于服务器的虚拟化技术正在进步,如Citrix2007年购买的Xensource,以及在64位处理器上运行的VMware hypervisors(在虚拟机器上运行的控制程序)。

Kusnetzky认为虚拟化的新发展将使用户能够在一个地方设置一台虚拟机器、暂停操作、然后在另一台计算机上从上次中断的地方重新开始工作,就像笔记本计算机从睡眠状态中醒来。这就意味着你能够拥有一台虚拟台式计算机,永远运行,你能从世界任何地方使用它,而且完全安全。

苹果公司和跨平台企业

苹果公司的股价非常高,这是有道理的。美国各地喜欢gadget的人去年夏天拍了一晚上的队,以成为第一批购买iPhone的人,2008年还会有更精美的产品推出。这还是多年以来的第一次,选择Web浏览器有了三个选择,苹果公司的Safari、Mozilla公司的Firefox和微软公司的Internet Explorer。

许多通过基于Web的Intranets和内部应用程序的公司很难支持三种浏览器。美国兰德公司的协作管理员Dan O’Donnell认为:“编写能够同时在Safari和IE上运行的Intranet应用程序,因此我们告诉用户将Firefox用于Intranet程序,其他时候使用任何浏览器都行。”例如,微软公司的Sharepoint在任何Mac浏览器上都不能良好地运行。

微软公司2007年初推出的Windows Vista没有被许多公司采用,他们继续使用XP,或者甚至转而采用Mac OS。尽管Vista改写了内核,推出了一个新安全模型,却没有足够多的兼容应用程序,而且其本身也有自己的安全问题。O’Donnell认为苹果公司正从Windows的安全问题中受益。

兰德公司是一家真正的跨平台公司,Mac OS占25%,Windows占73%,Unix/Linux占2%。O’Donnell表示:“尽管我们有众多的桌面OS,采用Mac的用户从来没有今天多,因为人们已经厌倦了各种Windows问题,许多Windows老用户也在抱怨Vista。”

Video Over IP网络

YouTube、越来越好的Web和现场视频会议、更容易制作视频内容,这意味着更多的视频内容将出现在公司网络上,因此规划适当的基础设施将极为关键。

视频联网应用供应商Vbrick Systems的创始人Rick Mavrogeanes表示:“向公司网络中增加视频内容对传统的IT机构而言就是no,因为大多数IT员工都工作量过大,担心影响数据联网。许多网络IT支持员工不愿意支持视频应用程序,他们也不愿意做这些系统的水管工。”

IT的顾虑不仅仅是需要多少带宽的问题,而且是需要更好地理解其他联网的问题。Mavrogeanes认为:“视频流量更流畅,不需要更多的带宽,但需要了解延迟问题和服务质量(QoS)的问题。我们看见VoIP为支持视频铺平了道路,因为在许多情况下VoIP解决了企业网络中的QoS和延迟的问题。”

为了真正了解视频应用程序,看看电视制作公司Bunin-Murray,该公司制作了许多真人电视秀,如The Simple Life和The Real World。该公司后期制作副总裁暨IT经理Mark Raudonis透露,该公司采用多个方案来制作视频。该公司制作低分辨率的视频进行离线编辑,而无需gigabit Ethernet连接到桌面计算机。

对于编辑真正的广播视频,gigabit Ethernet的带宽也不够,该公司采用光纤,采用存储区域网络(SAN)来存储视频,确保骨干网络支持组播,边设备也需要极好的网络连接。

外包数据中心

企业需要自己放置服务器的年代已经过去了。2008年出现的更多的托管服务供应商(MSP)将为你做这项工作,在另一个地方共同管理服务器,更便宜而且更可靠。

MSP Easystreet Online Services公司CEO Rich Bader认为:“因特网应用程序的挑战在于运行这些程序并保证安全的技术含量很高,必须跟上补丁程序的速度,保证配置的准确,因为总有坏蛋来捣蛋。”

这就给管理众多的服务器和相关的程序带来了相当的复杂性。International Associated of Managed Service Providers总裁Charles Weaver表示:“服务器管理可能是第一个切入点。较大的企业有IT部门,但他们的负担已经够重,经费也不足,他们越来越多地与MSP合作,卸掉部分IT管理任务,如电子邮件管理、服务器管理、VPN和安全、日志监管和审计。”

MSP公司Clearpoint提供100%的远程网络和服务器管理,其运营中心管理超过25000台设备。该公司经理Bob Longo表示:“我们采用固定的月费,处理所有的补丁和停机。我们与供应商联系协调维修。客户签署合同之后,就再不需要担心服务器的问题了。”

Longo非常喜爱微软公司的System Center产品,将它用于监控故障电话,提供桌面计算机支持,以及将升级软件安装到各台计算机。

Longo人为着抢了许多IT支持员工的饭碗。他的部分客户通过各种方法试验该公司的反应时间,有个客户将服务器断电,试验响应时间有多长。

如果你认为MSP公司都是些小商店,那么看看IBM。IBM的全球技术服务部中小企业服务总经理Rick Ruiz表示,外包的观念越来越被接受,我们增加了服务范围,尤其在中端市场。许多公司的业务增长了,但不希望增加员工,希望专注于核心业务。

现场感知SIP应用程序

我们的2008年颠覆性应用程序不仅仅是即时通信或者VoIP,而是将它们连在一起的现场感知。越来越多的应用程序和供应商提供这样的产品,它们能知道用户在任何时间在干什么,使与用户联系或者安排工作流程更简单。

这就是工作过程:假设你有VoIP电话,而且VoIP电话也能够与计算机连在一起,因此你在打电话时,给你点电话的人的信息就显示在电脑屏幕上。或者你想安排电话会议,你可以使用Web网站很快安排好。更好的是,一些IM程序能够与电话集成在一起,人们通过IM软件能够知道你的状态。

Trinet Systems公司CTO Mark Damphousse表示:“这个想法就是开发一个程序,可在呼叫中心使用,能够处理业务流程,减少人为延误和错误。”较老的电话PBX也可以使用这样的程序转变为更新的支持VoIP的产品。

开发人员采用了两个不同的协议。一个是会话初始协议(SIP),及其IM扩展SIP for instant messaging and presence leveraging extensions (SIMPLE)。微软公司使用自己修改过、还没有标准化的SIP和SIMPLE。另一个协议是可扩展消息处理现场协议(XMPP)。包括Google Talk 和 Jabber在内的许多公司采用了XMPP协议。这两种协议都用于呼叫控制,得到众多厂家的支持,进行基本的现场感知和融合通信任务。

尽管电子邮件还没有过时,也被IM和合作工具供应商Jive Software的CTO Matt Tucker看作是新的蜗牛邮件,增加的现场感知功能将改变你的公司在2008年的交流方法。

转:J2ME 平台知识整理

 J2ME概念解析 

: http://blog.csdn.net/asklxf/archive/2005/01/14/252957.aspx   雪峰的blog

J2ME,即Java 2 Micro Edition,是SUN公司推出的在移动设备上运行的微型版Java平台,常见的移动设备有手机,PDA,电子词典,以及各式各样的信息终端如机顶盒等等。

由于移动终端的类型成千上万,而且计算能力差异非常大,不可能像桌面系统那样仅仅两三个版本的JVM即可满足Windows,Linux和Unix系统,因此,J2ME不是一个简单的微型版的JVM。为了满足千差万别的移动设备的需求,SUN定义了一系列的针对不同类型设备的规范,因此,J2ME平台便是由许多的规范组成的集合。

最重要的移动终端当然是手机了,因此,我们主要讨论手机相关的J2ME规范。

Configuration

SUN把不同的设备按照计算能力分为CLDC(Connected Limited Device Configuration)和CDC(Connected Device Configuration)两大类,这两个Configuration是针对设备软硬件环境严格定义的,比如CLDC1.0定义了内存大小为64-512k,任何设备如果支持CLDC1.0,就必须严格满足定义,不能有可选的或者含糊的功能。

CLDC1.0是针对计算能力非常有限的设备定义的,只支持整数运算,不支持浮点运算,早期的Java手机大部分都支持CLDC1.0,如Nokia 3650,Siemens 6688i。

CLDC1.1则增加了浮点运算,因此,在支持CLDC1.1的设备上,可以使用float和double类型的变量。现在的Java手机很多都能支持CLDC1.1,如Nokia 9500,Siemens S65。

CDC则是针对计算能力比较强的设备定义的,如PPC等,CDC平台的JVM基本上和桌面的JVM很接近了,只是可以使用的Package大大少于J2SE的包。支持CDC的非常高端的Java手机也会很快上市。

Profile

和Configuration相比,Profile更多是针对软件接口的定义,Profile有必须实现的,也有可选的功能,因此,Profile更灵活。

最重要的Profile当然是MIDP(Micro Information Device Profile),MIDP定义了能在Java手机上运行的Java程序的规范,包括应用程序生命周期,各种UI界面组件,支持Record存储和Http连接等等,符合MIDP规范的Java小程序被称为MIDlet,可以直接通过无线网络下载到手机并运行。

早期的MIDP1.0规范使我们能在手机上运行有UI界面的Java程序,但是MIDP1.0对游戏的支持不够,必须自己实现许多代码,因此,MIDP2.0规范大大加强了对游戏开发的支持,使开发者能编写更少的代码来创建游戏。

MIDP规范的图形界面基本上都是独立于J2SE的AWT和Swing组件,因为目前手机的计算能力还比较有限,但是,随着手机的CPU越来越快,使得AWT和Swing移植到手机上也将成为可能,因此,基于CDC规范的最新的PBP 1.0(Personal Basic Profile)和PP 1.0(Personal Profile)提供了部分AWT和Swing的支持,目前,部分高端PDA已经可以运行PBP和PP的Java程序了。可以预见,将来大部分的AWT和Swing组件都能移植到手机上。

前面已经说过,和Configuration相比,Profile有许多可选包,比较实用的Profile还有在JSR135定义的MMAPI(Mobile Media API),实现多媒体播放功能;在JSR184定义的M3G API(Mobile 3D Graphics API),实现3D功能;在JSR120定义的WMA(Wireless Messaging API),实现短消息收发。如果你的手机支持某一Profile,如M3G,那么便可以在MIDlet中使用M3G的3D API实现3D游戏。

如果你准备在手机上开发J2ME应用,选择手机时就需要注意厂商支持的CLDC规范,支持MIDP1.0还是2.0,是否支持MMAPI,M3G,WMA等可选包。

Profile虽然定义了Java API接口,但是底层如何实现是由各厂商自己决定的,如M3G定义了3D接口,但是底层实现既可以使用硬件加速,也可以由C程序模拟,或者部分由硬件实现,部分由软件实现。

比J2ME更精简的Java平台被SUN称为JavaCard,运行在信用卡等芯片中,实现电子支付等功能,目前SUN还没有把JavaCard并入J2ME平台。。

J2ME平台体系结构 http://news.csdn.net/news/newstopic/24/24034.shtml

J2ME平台是本着Configuration和Profile结合来设计的。Configuration是提供支持最大范围设备的最小的平台。Profile是针对特定的设备提供相应的开发包集合。在J2ME的两个基本配置CDC和CLDC是按照如下的标准进行区分的。
CLDC:

512 KB 以下内存
有限能源供应(通常使用电池)
有限或非持续网络连接
简单的用户界面
16位或者32位的处理器
CDC:

2M以上内存
具有网络连接能力,通常为无线网络
需要实现java虚拟机规范的全部功能
32位或者64位的处理器

    从上述的要求中我们不难看出CLDC主要针对那些资源非常受限的设备比如手机、PDA、双工寻呼机等。而CDC主要面对那些家电产品,比如机顶盒、汽车导航系统等。
    下面我们来看看J2ME平台的结构图:

         
    我们可以看出J2ME的核心是Configuration,在它里面定义了java的虚拟机,通过它来和底层的Host OS打交道。Profile提供了访问设备的IO或者图形界面的能力,这样Configuration和Profile共同构成了J2ME的运行环境。比如CLCD/MIDP可以提供给你开发手机程序的环境。在Profile之上针对不同的设备还可以提供不同的可选开发包。
    由于CLDC/MIDP大家都比较熟悉了,我们下面主要介绍一下基于CDC的J2ME系统构架,同样还是看它的系统图:
      

    基于CDC的设备可以支持全部的Java2语言规范和Java虚拟机规范,它是CLDC的超集并且远大于CLDC,因此基于CLDC的程序是可以无修改的移植到基于CDC的设备的。Foundation Profile是对CDC进行扩展的Profile,但是他并没有提供GUI的开发包,GUI是在Personal Basic Profile中进行定义的,它提供了AWT的一个子集给开发人员。它还提供了Xlet应用程序模式——针对java TV。Personal Profile是Personal Basci Profile的超集。他提供了对Applet的支持,丰富了AWT的组件,添加了java.awt.datatransfer包。

J2ME–丰富多彩的领域中生机勃勃的技术《节选》

http://www-128.ibm.com/developerworks/cn/java/l-j2metec/index.html

CLDC

CLDC(Connected, Limited Device Configuration)针对个人化的移动的有限连接信息设备,例如智能手机,双向呼机,PDA等等。其要求是:

  • 512 KB 以下内存
  • 有限能源供应(通常使用电池)
  • 有限或非持续网络连接
  • 简单的用户界面(甚至没有)

在如此严格的限制之下,CLDC 只包括四个包,其中三个来自标准 Java 规范并且作了缩减(java.lang、java.util 和 java.io),另一个专门针对 CLDC (javax.microedition)。

表 1. CLDC 中的包

描述

类和接口数目

java.io

系统输入输出

18

java.lang

Java 编程语言的基本类

38

java.util

集合、日期和时间支持、各式实用工具类

10

javax.microedition

通用连接框架(Generic Connection Framework)

10

CLDC必须照顾最苛刻的硬件条件,因此去掉了许多重要的类和特征,只保留了最核心的一些基本类。例如RMI和映射因需要内存太多而被舍弃,错误处理要求的代价太高,也被删除了。许多设备不能支持浮点数,更不用说双精度类了。还有许多设备没有或不提供访问一个文件系统的功能或权限。不过请放心,对于那些能够支持更多特征的设备,它们所需要的这些功能或者超出标准J2SE要求的功能,都可以由针对此类设备的Profile来补充。

CLDC中唯一新增的javax.microedition包定义了一个通用连接框架(Generic Connection Framework,GCF)。通用连接框架把J2SE中的文件,sockets,HTTP请求和其他输入/输出机制的概念抽象为更简单的一套类。可以说,它提供了java.io和java.net的同样功能,却不需要设备的特殊能力。与底层操作系统无关是Configuration的基本要求。通用连接框架可以看成是构造通讯驱动的框架,这一点类似于J2SE中的JDBC,后者是一个构造数据库驱动的框架。通用连接框架并没有定义对任何特定协议的支持,但是在Sun的一个CLDC参考实现中确实包括了对一些通讯协议的支持,这点使许多人感到困惑。那些协议只是一些例子,协议的支持应该在Profile层或者专门针对某设备的扩展中定义。

由于虚拟机处于Configuration中定义平台的核心,Configuration和虚拟机是紧密相关的。既然CLDC的硬件要求如此苛刻,对其虚拟机也就有着非常高的要求。Sun提供的参考实现是KVM(K Virtual Machine)。KVM是完全从头开始编写的,其设计目标包括:

  • 虚拟机的大小和类库为50到80KB左右
  • 内存占用为几十K
  • 在具有 16 位和 32 位处理器的设备上,有相当的性能
  • 高度可移植和可扩展,特定于机器和/或平台的代码的总量很少
  • 多线程和垃圾回收是独立于系统的
  • 可以对虚拟机的组件进行配置,以适合于特定设备,从而增强了灵活性

KVM的实现是相当成功的。最早在1999年JavaOne大会的时候,作为Sun的Spotless计划派生结果,Sun分发了许多Palm V,提供了Palm OS上的第一个KVM版本和一个实验性的类库com.sun.kjava。这一KVM非常小而紧凑,只需要几十K内存。而com.sun.kjava类库提供了Palm的图形用户接口,Palm数据库访问,简单的集合类等等。将两者结合,开发者就可以开发Palm上的Java应用,因此它受到了开发者的广泛欢迎,网上也有了许多教程和示例代码。事实上,到目前为止,这都是在Palm上开发Java程序的唯一合理途径。CLDC没有定义用户界面等API,MIDP并不适合PDA,对应的最合适J2ME标准是PDA Profile,但是尚未完成。许多开发者强烈要求Sun在正式的J2ME标准中继续支持它,但是Sun已经放弃了这一技术,而且并不保证正式的PDA Profile与之的兼容性,因此我们不建议读者过多研究。

由于这一历史原因,造成了很多名词上的困扰。许多早期的文章把这一KVM与com.sun.kjava包合称为KVM,表示这一技术,而现在所说的KVM应该是单单指Sun的CLDC虚拟机参考实现。甚至还有人用K Java作为J2ME的代称,表示基于KVM的Java,这很容易和正式的J2ME标准以及早期的com.sun.kjava包相混淆,读者在看这类文章时需要注意文章的时间和背景,并采用严格的正式名称。

目前Sun还正在开发KVM的一个高性能版本--Project Monty虚拟机以用于下一代的移动信息处理设备。它采用了Hot Spot的技术,性能将比现有的KVM将近高一个数量级。

虽然KVM作为Sun的参考实现最经常被提到,不过并不等于一定要用KVM。其它公司的虚拟机只要满足相应的Configuration里的定义,通过兼容性测试,一样可以作为Configuration的虚拟机。目前IBM WebSphere Micro Environment,已经通过了"Java PoweredTM"认证,其J9虚拟机在相当多的平台上通过了J2ME兼容性测试:

JavaME MIDlet Suites简介http://news.csdn.net/news/newstopic/28/28766.shtml

JavaME 开发流程详解 http://news.csdn.net/news/newstopic/28/28758.shtml

Should not rely on Microsoft support 100%

"Cannot Open the File: Mk:@MSITStore:C:\Windows\Help\Windows.chm" Error Message Appears When Opening Help
 
 

SYMPTOMS

When you click Start and then click Help, you may receive the following error message:

Cannot Open the File: mk:@MSITStore:C:\Windows\Help\Windows.chm

Note You may receive an error message when you try to open any Help file that has a .chm file extension.

Back to the top

CAUSE

This problem may occur if the Hhctrl.ocx file is the wrong version.

Back to the top

RESOLUTION

To resolve this problem, extract and register a new copy of the Hhctrl.ocx file.

1.

Determine the version of Hhctrl.ocx. To do this, follow these steps:

a.

Click Start, point to Settings, and then click Folder Options.

b.

Click the View tab, click Show all files, click to clear the Hide file extensions for known file types check box, and then click OK.

c.

Click Start, point to Find, and then click Files or Folders.

d.

In the Named box, type hhctrl.ocx. In the Look in list, click My Computer, and then click Find Now.

e.

In the list of items that are found, right-click the Hhctrl.ocx file that is stored in the C:\Windows\System folder, and then click Properties.

f.

Click the Version tab, and then note the number that is displayed next to File version.

The version of Hhctrl.ocx that is included with Microsoft Internet Explorer 5.0 or Internet Explorer 5.01 is file version 4.73.8412.

2.

Extract a new copy of the Hhctrl.ocx file for the version of Internet Explorer that you have to the Windows\System directory. (To determine the version of Internet Explorer that you have, start Internet Explorer, and then click About Internet Explorer on the Help menu.)

If Internet Explorer 5 is installed, extract a new copy of Hhctrl.ocx from your Windows 98 CD-ROM.

If a different version of Internet Explorer is installed, extract a new copy of Hhctrl.ocx from the Hhupd.cab file on the Internet Explorer CD, or install the latest update for Windows HTML Help. For more information about how to install the latest update for Windows HTML Help, see the "More Information" section.

For additional information about extracting files in Windows 98, click the following article number to view the article in the Microsoft Knowledge Base:

129605 (http://support.microsoft.com/kb/129605/) How to extract original compressed Windows files

 

 

Register the Hhctrl.ocx file. To do this, follow these steps:

1.

Quit all programs that are running.

2.

Click Start, and then click Run.

3.

In the Open box, type regsvr c:\windows\system\hhctrl.ocx, and then click OK. The following message appears:

DllRegisterServer in c:\windows\system\hhctrl.ocx succeeded.

Click OK, and then restart the computer.

But acutally for the English XP version users who also read .chm file in Chinese, Microsoft ignored that they might just need to set the regional language preference to Chinese, then all the steps above can be skipped. However, without indicating this situation, they might register their dll library file again and again which will still not solve the problem.

Conclusion: not all the official website is reliable even as large as microsoft.com