Saturday, June 30, 2007

人在江湖,身不由己

尽管我不只一次表示过对html web的蔑视,但是,人在江湖,身不由己,我还是把HTML & XHTML, The Definitive Guide看了(Thank you for buying and carrying books from US to China for me! You know who you are. Thank you very much!)。接下来还要看CSS, The Definitive Guide和Javascript, The Definitive Guide并购买Dynamic HTML, The Definitive Reference做参考。还要考虑是不是搞本HTML DOM的书来瞄两眼。然后找本GreaseMonkey教程来玩一把。
底线是不碰Ajax。决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不,决不。打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax,打死都不学Ajax。

Thursday, June 28, 2007

我对电影《英雄》的认识

电影《英雄》反映了以张艺谋为代言人的新兴强势政治经济集团对文化多样性的仇视(连“剑”字的写法都要规定)和对集权的向往(更别说想法了)。电影的中心思想,就是用“天下一统”这个只对暴君有实在意义,而对人民只是虚幻、不含任何社会福利的意识形态,取消掉代表独立、不羁的侠客人格(无名认同秦始皇,放弃理想、投降)。
一个人如果朝思暮想的追求一件事物,不论这事物多么荒唐,多么需要掩饰,他都会不经意的透露出来。《英雄》就是这样的梦话。虽然电影的结局是某些人急切的幻想,但是现实世界的“侠客们”不可能这么窝囊。思想上,他们不可能乖乖顺从强势人物,更不可能愚蠢的被欺骗得认同一个毫无意义的噱头(天下一统?屁话!老子还想霸占全中国的财富,花天酒地呢,凭什么统给你不统给我?!)。唯一看似能让他们停止反抗的方法,就是使用“箭阵”。但是使用“箭阵”的话,Shoot, you are only going to kill a man(Ernesto Guevara语)。

两件有点好笑的事

1.
Bill Kennedy, Chuck Musciano的HTML & XHTML: The Definitive Guide, 6th Edition一书中多次提到:
The dir attribute tells the browser in which direction to display the list contentsfrom left to right (dir=ltr), like English and French, or from right to left (dir=rtl), as with Hebrew and Chinese.
幸亏html没有提供“从纸外往纸里写”的选项啊。

2.
Jeff Prosise在Programming Microsoft .NET里写道:
TerraServer is one of the world’s largest online databases. Inside it are photographs and maps of much of Earth’s surface
受此话蛊惑,我兴冲冲的跑去TerraServer一看,差点晕倒-基本上只有美国的照片。难道Jeff兄觉得US = “much of Earth”?咱不能叫“中国”了!这称号得让出去了!

关于软件(程序、代码)的易理解性

易于理解是设计的一个重要目标。AOUP对此有关于transparency和discoverability的论述。这里我想说的是易理解性包含静态和动态两个方面。
静态的易理解性是设计的总体、宏观性质。任何规模稍大的系统都会超出人的短期记忆限制,为使其可以被人脑处理,需要用分解成模块、提高描述的抽象程度等手段。应用这些手段的合理程度是系统可理解性的决定因素之一。
然而,对稍大系统的理解,不是一蹴而就的,而是一个不断积累信息碎片、最后拼成整体图象的过程。所以这里就有对系统的presentation是否符合认知习惯的问题。比如说,用户接受到一些信息后,可能会对即将到来的信息有所预期,即使不是对内容本身,也有可能是其范畴、形式等。一个成功的认知过程应该是“least surprising”的。如果用户的理解过程充满意外,不仅信息碎片拼接成整体的效率可能受影响,还可能使理解者的情绪不快。所以在设计时,即使信息的出场顺序这种“小事”也要多加注意。

Monday, June 18, 2007

唉,Sun,唉,Java

曾经有一个绝佳的机会摆在Sun面前,Sun没有珍惜。开公司最悲哀的事情莫过于此。
其实Sun是有机会捏死Microsoft的,方法很简单,以Desktop computing为目标,增加虚拟机的功能,直到操作系统压缩成虚拟机和硬件之间薄薄的、无关紧要的一层。无关紧要到什么程度?无关紧要到菜鸟级的用户甚至不知道自己的是Linux还是Windows(在这种情况下几乎可以肯定是Linux不是Windows,因为Windows已经obsolete(Microsoft用语)或deprecated(W3C用语)了)。还差些什么呢?一个Storage space,一个shell,一个GUI framework或markup language及配套IDE。Sun尽可以利用没有兼容性负担的后发优势,把这些东西做得如此超凡脱俗,以至于显得以前那些都是老土。可惜啊,Microsoft用.net把自己坍塌的城墙补上了,还补得更坚固了,机会没了。
Sun为什么会这样?我想,原因可能是太沉溺于b/s,network computing,enterprise architecture不能自拔吧。
再重复一次,永远不要忽略desktop。

Sunday, June 17, 2007

循序渐进自底向上的中国企业信息化思路

据说中国企业的信息化走得比较艰难。我根据掌握的有限信息,提出以下思路:
“信息化”为什么就意味着要引进一套新的IT系统呢?现在所有人(除了极少数有头脑的有品位的,比如本blog writer)、所有企业不是都依靠Word来做文件,Excel来做报表,email来联系么?所以中国企业并不是没有信息化,而是信息的机器化(/自动化/形式化)程度不够而已。我们不是要引发一个质变,而是要持续的推动量变。首先应该承认当前做法(current practice)的合理性,然后通过引入辅助工具提高其自动化程度,不断提高,从辅助工具到支撑工具,直到建立起IT框架。不要无故废除任何使用习惯,不要无故引入任何新界面。比如,可以从用脚本程序使当前的文档处理工作更简洁开始,逐步将数据赋予语意,最终使企业的工作流程基于信息系统。
这样做的原因,除哲学和宗教理由(没什么好讨论的,信就信,不信就罢了)外,还有一个现实的:一般来说,在中国企业中,因为利益分配太不均,雇员并不热爱雇主。因此雇主出于自己的私利引入一套信息系统,对雇员来说,不仅意味着加班培训的负担,还意味着系统投入运行后导致的更高节奏的工作、更多人被机器取代。雇员自然是抵触这样的“信息化”的,也不太可能有效的利用新系统,更不说在此基础上创造性的发挥。但是循序渐进自底向上的思路,是以降低雇员工作的负担为最初目标的,所以能得到实际使用者、企业日常事务的推动者的欢心,更可能成功。

Saturday, June 16, 2007

基本上齐了

最近出了一个“黑砖窑”的事,算上以后,小学中学语文政治里控诉的旧社会的罪恶就基本上齐了。

Monday, June 11, 2007

一语道破天机

这几天在吃山西的沁州黄小米,突然发现米袋子上有这么一句话(原文抄录)

沁州黄小米从明嘉靖年间到清朝各代一直是宫廷贡品,解放后仍然是中央领导和军队高级将领的特供食品

不得不承认这句话写得太tm好了,太tm妙了,太tm传神了,太tm有洞察力了,太tm揭示事情的本质了。特别是“仍然”这个词,可以和“推敲”的典故有一拼了。

图形用户界面的过去和未来

截至2007年6月,图形用户界面的发展大致上可分三个阶段:

第一个阶段,受硬件限制的阶段。GUI从无到有,进入了这个阶段。这时硬件的性能勉强够或刚刚不够运行GUI。GUI本身也不成熟,人们还不太清楚到底应该以何种方式把哪些信息表示在界面上。在这个阶段里,程序员们拼命地用低级语言压榨机器,得到一个简单粗糙慢腾腾的结果。

第二个阶段,硬件足够快了,GUI的概念也成熟了,人人心里都知道自己想要什么,但是动手做起来却觉得很吃力。这个阶段的主要限制是编程方法。程序员都想把界面做得更丰富,但无奈要写的程序太复杂了。这个阶段经历了这样的技术演进:C语言 + graphic API → object-orientedness → design patterns → frameworks。另外一些人则走上了html web的路,这条路也有类似的发展历程:从带宽有限,页面简洁,到功能丰富,需要适用ajax技术进行组织。现在我们基本位于这个阶段的末尾。

让我意识到第二阶段结束,第三阶段来临的是Windows Vista。从一个程序员的角度,我发现Windows Presentaion Foundation可以大大降低开发GUI的难度,让我比较随意的表达我的界面要求;从一个用户的角度,我对Vista shell的第一感觉就是:复杂。前所未有的多的gadgets出现在各种明目的“条”和“栏”上。比如,一起我的地址栏就是一个可以放进一串文字的白板,现在成了一系列可以变成一个白板的按钮。看这这样的界面,我觉得有点晕。以我的脑袋的十分有限的处理能力,我时常迷茫。我想这就是GUI3.0时代的主题:硬件能力和编程方法都不再限制GUI开发者实现更多的功能了,以至于用户界面开始被推向人类认知能力的极限(有人说我们配置的内存条是7bit的,有人说是4bit)。在这个时代,GUI发展的方向是:软件的功能在增长,但不能再往界面上铺陈功能了,而是按照人的认知习惯组织功能。比如我们可以研究用户对某一程序有哪些动作短语(idomatic usage),甚至是哪些usage pattern,然后把相关的界面组织成一组,让用户在更高的抽象程度(或者说封装程度)上使用软件。Unix的方式可能带来启发(很难开发出一种比正则表达示有效的让用户描述一个pattern的界面),Art of the UNIX programming的指导在GUI3.0时代是必不可少的。现有的鼠标-键盘动作输入、视觉-声音输出的模式需要被扩展,比如用微软研制的多点触摸屏(区别于单点的鼠标指针)。虚拟现实技术(表达能力更强的输入输出)、人工智能技术(让人随意下指令,机器试图理解,而不是让人学习机器的设定)可能会是问题的克星。同时,更根本的,我们要研究信息的组织和表示这个宏伟的课题,改造整个全部所有计算环境。

正在到来的时代是一个从提供feature转变到组织feature的时代。要想在未来的图形用户界面取得商业优势的个人、公司、国家可以开始行动了。

Google中国的公关机会?

今年下半年雨水多,很多地方可能遭遇洪灾,这到给Google提供了一个向中国政府示好的机会。Google可以用它的卫星实时的刷新易受灾和受灾地区。并向相关机构捐赠几个月的Google Earth premium使用权。这样应该是个三赢的局面:
  • 可以减轻灾区的损失
  • Google可以从政府拿到一些credits,并趁机宣扬它的CSR,还着实藐视竞争者们一下,“哇~靠~卫星照片都没有~还敢出来混???”
  • 真正实现“科技进步为人类的福祉”这个崇高目标,人类社会的胜利

对命题“本blog作者比中国外交部、发改委的官员聪明”的证明

暨 对中国的碳排放国际责任问题的解决办法

声明:本人的立场和欧洲一致-中国应该无条件控制碳的放量,即使只考虑中国这个农业国的自身利益(真正的利益,人民的利益,而不是某些特殊利益经济集团的利益)也应该如此。本文并不暗示中国应该推脱责任,本文的目只是提供一种推脱责任的方法。本文是纯实证表述,不含任何规范表述成分。

最近这个议题大热,基本形势是:中国被搞得很被动。被动的原因,究其根本,就是现在关于碳责任的外交谈判都是基于生产者排放量这个框架的。这种框架对“世界工厂”中国很不利。中国的领导人在这个问题上没有什么高深的见解,对欧美的责任划分方式的被动反击在强硬的环保主义者看来近乎不讲道理。其实要根本性的扭转局面,中国应该构架起基于消费者排放量的框架,并在这个框架内主导国际合作。这个框架的目的,是要计算出每一件出口商品,在它的生命周期内,要分摊多少碳排放。 达到目的的关键,是用严谨的科学方法(绝不能像统计GDP那样弄,因此才具有公信力),统计出整个社会生产活动的每一个环节的环境影响。每一种新增产品都可以利用这个数据库,根据生产流程,计算出自己的影响,并进入这个数据库。这个行当就称为lifecircle assessment。可惜的是中国现在还没有建立起这个体系。其实很早就有先知的国人从事这方面的研究,只不过在急功近利的中国人眼里,这些知识好像不能变成GDP,因此也不值得重视。到了后来,发现有用了,却没什么准备。

Thursday, June 07, 2007

Google的下一个收购对象

即使不收购,Google也会依葫芦画瓢自己做一套,就是这个叫37signals的公司的web software,因为实在是很(即“粉”,古汉语通假字)可爱。

不过我在以前blog里说过了,这种东西我不喜欢。我是老套、古板、守旧的desktop school出来的人。除非把这些web做到SliverLight(或类似的平台)上,我是嗤之以鼻的。

还有我觉得Google可能会像Cisco一样的发展--通过不停的收购来提高实力。

Tuesday, June 05, 2007

Bjarne Stroustrup says...

Corporate practices can be directly hostile to individuals with exceptional skills and initiative.

What an insight!

粽子也成月饼了!

很精致,很甜,很豪华,很--贵!

Monday, June 04, 2007

无锡发成暴动了!

OK,不是人暴动了,是一种水生植物暴动了。事情是这样 的:

一小撮"别有用心"的蓝藻
煽动大量"不明真相"的蓝藻类
公然视中国政府的环境保护法于不顾
妄图在2007年5月29日上演蓝藻"群体性事件"
    
希望广大蓝藻能够认清真相,保持稳定态度
坚决抵制一小撮"别有用心"的蓝藻的阴谋
建设真正的"河蟹社会" (引用自网络)

操作系统面临重大变革,你准备好没有?

操作系统内核结构面临重大变革,动力来自储存器硬件的发展。内存和二级储存将会融合,融合后的储存器具备现今内存的存取速度和直接随机寻址能力和现今硬盘的非易失性及价格容量比。这种新的储存硬件的价格和速度将快速改进,最终取代机械硬盘和内存。

这对操作系统意味着什么?简单化!大大的简单化。再也没有paging,没有virtual memory,没有boot strap(甚至没有开关机),没有cache management! 对数据库引擎的影响更是巨大。

这将是一个操作系统生态系统洗盘的机会。现今操作系统寡头的知识资本将贬值,有一部分甚至完全作废。竞争会更多的集中于API层-谁提供最周到、温馨的开发平台,谁就将主宰市场(消费pc操作系统市场)。现在看.net比较有前途,不知道sun会不会乘机发飙,linux和Mac似乎需要一点计划。因为内核更容易做好,一个功能强大的shell对吸引消费者至关重要。一些直接暴露给消费者或半暴露的用户空间系统服务,如file system(WinFS是个不错的想法),configuration management(Windows registry school vs. XML file school),program interoperation infrastructure(Unix pipe vs. OLE)的设计会是成功的关键。

Friday, June 01, 2007

Plain text becomes even more powerful!

喜欢Unix/Linux的同学知道纯文本的威力。The pragmatic programmer和Art of the Unix Programming都对此有精彩的论述。现在,随着www.moneytextmoney.com的出现(于本人的想象之中),纯文本的威力不仅限于数字世界,更扩展到了财经领域!多亏了这个全新的网站,纯文本已经具备medium of exchang及store of value的功能了。或许将来有一天,纯文本将无所不能。以下use case说明了www.moneytextmoney.com的服务:

Use case 1: 用户A向用户B支付100元
1.用户A登陆www.moneytextmoney.com,通过电子支付手段向该网站支付100元。支付得到确认后,网站向A返回一段的文字
2.用户A通过IM/电邮/sms向用户B传输这一段文字
3.用户B登陆www.moneytextmoney.com,输入这段文字,选择接受支付的手段,接受100元。

同时本网站对经认证的用户提供API(web service),供用户自由扩展。