2008年10月11日星期六

斯德哥尔摩综合症

斯德哥尔摩综合症定义
  斯德哥尔摩综合症(Stockholm syndrome),斯德哥尔摩效应,又称斯德哥尔摩症候群或者称为人质情结或人质综合症,是指犯罪的被害者对于犯罪者产生情感,甚至反过来帮助犯罪者的一种情结。这个情感造成被害人对加害人产生好感、依赖心、甚至协助加害人。
  西方心理学家这样解释斯德哥尔摩综合症:
  人质会对劫持者产生一种心理上的依赖感。他们的生死操在劫持者手里,劫持者让他们活下来,他们便不胜感激。他们与劫持者共命运,把劫持者的前途当成自己的前途,把劫持者的安危视为自己的安危。于是,他们采取了“我们反对他们”的态度,把当局当成了敌人。
斯德哥尔摩综合症的条件
  1、人质必须有真正感到绑匪(加害者)威胁到自己的存活。
  2、在遭挟持过程中,人质必须体认出绑匪(加害者)可能略施小惠的举动。
  3、除了绑匪的单一看法之外,人质必须与所有其他观点隔离(通常得不到外界的讯息)。
  4、人质必须相信,要脱逃是不可能的。
斯德哥尔摩综合症的起源
  1973年8月23日,两名有前科的罪犯Olsson与Olofsson,在意图抢劫瑞典首都斯德哥尔摩市内最大的一家银行失败后,挟持了四位银行职员,在警方与歹徒僵持了130个小时之后,因歹徒放弃而结束。然而这起事件发生后几个月,这四名遭受挟持的银行职员,仍然对绑架他们的人显露出怜悯的情感,他们拒绝在法院指控这些绑匪,甚至还为他们筹措法律辩护的资金,他们都表明并不痛恨歹徒,并表达他们对歹徒非但没有伤害他们却对他们照顾的感激,并对警察采取敌对态度。更甚者,人质中一名女职员Christian竟然还爱上劫匪Olsson,并与他在服刑期间订婚。
  这两名抢匪劫持人质达六天之久,在这期间他们威胁受俘者的性命,但有时也表现出仁慈的一面。在出人意表的心理错综转变下,这四名人质抗拒政府最终营救他们的努力。这件事激发了社会科学家,他们想要了解在掳人者与遭挟持者之间的这份感情结合,到底是发生在这起斯德哥尔摩银行抢案的一宗特例,还是这种情感结合代表了一种普遍的心理反应。而后来的研究显示,这起研究学者称为“斯德哥尔摩症候群”的事件,令人惊讶的普遍。研究者发现到这种症候群的例子见诸于各种不同的经验中,从集中营的囚犯、战俘、受虐妇女与乱伦的受害者,都可能发生斯德哥尔摩综合症经验。以人质为例,如果符合下列条件,任何人都有可能遭受到斯德哥尔摩综合症。
  第1,是要你切实感觉到你的生命受到威胁,让你感觉到,至于是不是要发生不一定。然后相信这个施暴的人随时会这么做,是毫不犹豫。
  第2,这个施暴的人一定会给你施以小恩小惠,最关键的条件。如在你各种绝望的情况下给你水喝。
  第3,除了他给所控制的信息和思想,任何其它信息都不让你得到,完全隔离了。
  第4,让你感到无路可逃。
  有了这4个条件下,人们就会产生斯德哥尔摩综合症。
  警方找来心理学家:三个人质为甚么在最后的性命关头都帮匪徒逃命呢?专家深入研究,结论是:人性能承受的恐惧有一条脆弱的底线。当人遇上了一个凶狂的杀手,杀手不讲理,随时要取他的命,人质就会把生命权渐渐付托给这个凶徒。时间拖久了,人质吃一口饭、喝一口水,每一呼吸,他自己都会觉得是恐怖份子对他的宽忍和慈悲。对於绑架自己的暴徒,他的恐惧,会先转化为对他的感激,然后变为一种崇拜,最后人质也下意识地以为凶徒的安全,就是自己的安全。
  这种屈服于暴虐的弱点,就叫“斯德哥尔摩精神症候群”。一九七四年,美国报业大王赫斯的千金被美国的“新人民军”绑架,最后自己也穿上了军装,参加抢劫银行,感谢恐怖份子。对一个长久的施暴者不杀的恩威,觉得是一种慈悲,不止一两个人质,在地球上,还有长久匍伏在暴政之下的一些古老的民族。他们的苦难太长久,他们已经放弃了自由的希望,不要怪他们为什么甘心自我作贱,他们患了“斯德哥尔摩心理症”。
编辑本段斯德哥尔摩综合症之经典案例
  1977年5月19日,27岁的卡罗离开位于奥勒冈州尤金市的家乡,起程去探访一位住在北加利福尼亚州的朋友。北加利福尼亚州距离奥勒冈州大约有644公里的路程,路上她搭了个便车,车上是一家三口,男主人卡门龙,妻子叫珍尼斯。半途中,她突然被勒令举起双手,蒙上眼睛,卡罗被带到了一个屋子的地窖里。
  卡罗清楚记得卡门龙把她身上的衣服脱去,一条鞭子抽打在她的身上。以后每天,卡罗先被毒打一顿,然后吊在门檐上,脚尖仅仅踮到一点点地面。卡罗刚开始还拼命挣扎,卡罗最初的一段时间完全生活在黑暗之中,卡门龙特意用金属做了一个双层头罩和像棺材一样的箱子,她在里面不能吃、喝、听、看。卡门龙是一个虐待狂,他崇拜古代的奴隶社会,长期沉迷于带有暴力倾向的色情文学,他把卡罗当成自己的俘虏,而自己就是奴隶主。从卡罗的身上,他得到了征服感和占有感的满足。
  在这个小镇,卡门龙夫妇看起来是极为平凡和不起眼的邻居,他们和平常人一样,白天去上班、购物,晚上回家睡觉。卡门龙在当地的一家木材加工厂工作,他们的邻居评价这是很爱安静的三口之家。但是从来没有人了解这一家子的背景。在邻居的眼里,卡门龙是一个沉默寡言的年轻人,他不善和人交友,只喜欢默默一个人干活。卡门龙几年前毕业于当地的一所高中,然后在1973年遇上了当时只有15岁的珍尼斯。珍尼斯患有轻度癫痫病,卡门龙就是看上了她对自己百依百顺的优点。卡门龙认为,只要有男人肯要珍尼斯,珍尼斯一定会为这个男人付出任何代价。
  卡门龙疯起来的时候会把卡罗的头按在水里,直至几乎窒息,或者接通电线,或者用手扼她的脖子。而鞭打是每天的家常便饭,有时卡门龙还拍下卡罗的照片,然后在家里冲洗。每当卡门龙折磨卡罗的时候,他就会变得异常兴奋。卡门龙还想出了千奇百怪的主意来实施自己的虐待欲,包括在地下杂志上剪下一份据称是出售灵魂的契约,强迫卡罗签下。他还在卡罗的阴唇上穿了一个洞,说这是他们的“结婚戒指”,并说希望有一天可以和她生孩子。当确定卡罗不会试图逃跑时,卡门龙决定要和卡罗结婚。自此,卡罗有了更多的自由,她可以每天去洗澡、干家务活,甚至允许她出外慢跑,而卡罗每次总是会回来。一些邻居也开始看到了卡罗,他们都以为她是这家的保姆。
  1980年,卡罗甚至可以到外面打工。实际上已被绑架了三年的卡罗这时有许多机会可以逃跑,但是她并没有这样做。卡罗被囚禁了7年,直到卡门龙的妻子珍尼斯突然良心发现,加上嫉妒卡罗的“得宠”,帮助她逃离了这个地狱。难以置信的是,卡罗在回到自己的家以后,还一直打电话给卡门龙,他哭着企求她回来,而卡罗向他保证决不起诉他。直到卡门龙的妻子珍尼斯离开了卡门龙,找到了一个心理医生,他们聊了将近2个小时,珍尼斯把故事全部说了出来,心理医生报了警。
  1984年11月,卡门龙被正式逮捕。在法庭上,主控官描述了卡门龙最喜爱的一部电影,片中讲述了一个虐待狂绑架了一个年轻的姑娘,并把她变成一个顺从的性奴。这个女孩最终变得忠心耿耿,甚至为她的“主人”牺牲了生命。主控官试图以这种戏剧化的形象,向陪审团证明卡门龙如何深受这部电影的影响,而卡罗也和片中的女孩一样,被卡门龙完完全全洗了脑而丧失了个人的意志。此外,压在卡罗身上的是一种无形的恐惧和枷锁,因为害怕报复,所以她一直不敢逃走。
编辑本段斯德哥尔摩综合症和邪教
  在当今世界中,有一支最可怜的人群,他们是邪教群众。他们多数过着群居生活(现在也有散居的,但是思想受到严格控制),许多人将自己的所有财产捐出,带领一家加入了“教会”。许多人每天劳动十几个小时,超出了常人所能忍受的限度,长期营养不良……
  温馨、亲情、儿女呢喃……早与他们告别。两情相悦、生死相许、柔肠寸断……不啻海外奇谈。理想、前途、梦想……一切与他们无缘。
  他们的目光如待宰的羔羊怯生生,似乎在哀求:“我们没有伤害你们,请你们放了我们,请你们让我们按自己的意愿生活。”他们也极少哭泣,如果哭泣,那是因为他们要离开这个世界了。
  有人说,二十一世纪的瘟疫是恐怖主义,错了!错了!邪教在后面等着哩。它很有耐心。
  由此看来,同样都是精神痴迷状态,然而“进入状态”的途径却不同:斯德哥尔摩症靠“当头棒喝”——一次惊吓就够了,邪教则必须靠日日夜夜的修炼——无休无止地洗脑。除了特殊例子(如弗连克尔等),斯德哥尔摩症来得快去得也快,而邪教却能纠缠你终生。斯德哥尔摩症的潜意识是恋世,邪教的潜意识是厌世。谁的害处大,不言自明。
  1977年,加拿大《蒙特利尔之星报》青年编辑乔希为了解救身陷“创世共同体工程”(CCP,建于美国旧金山)邪教的两名好友〔14〕,“明知山有虎,偏向虎山行”。之前他给自己“打了预防针”,首先阅读大量报刊资料及采访社会学家,了解CCP是韩国富商孙明满“联合教会”招募教徒的一个机构,孙明满是“联合教会”教主,仿照《圣经》编了本五百三十六页的《神旨》供信徒“天天读”,自称“基督再世”,在全世界各地拥有三百万信徒。青年人一旦落入这个组织,就等于陷于无边的苦海中。接着乔希采访CCP受害者的父母,进一步了解到“联合教会”也是一个变相的奴隶企业,他们的孩子“实质上成了为其无偿劳动的奴隶”,一天要劳动近二十个小时,没有休息日,不能顺便外出,失去人身自由,然而所得的报酬仅仅是粗糙不堪的一点食物和拥挤简陋的住处……乔希听得满腔怒火。尽管有了这么多思想“垫底”,可是当乔希进入CCP场部后,仍然被CCP的一切迷住了。他不但救不出朋友,自己差点也陷身其中。如果不是第三拨朋友赶来救出乔希,恐怕他早已签约了;即使这样,当他与CCP人员告别时,还是“差点儿没扑在他们怀里大哭起来”。
  乔希看到了什么?——当他走进CCP总部时,正遇上他们在吃晚饭,一个很大的饭厅,“成百人坐在地板上吃炖白菜”。用不着用什么敏锐目光就能看出,CCP基本群众过着“水深火热的生活”。而CCP不想掩盖这一点,甚至好像在炫耀:“这就是我们的真实生活,可是你们知道为什么我们自愿选择这样的生活?”
  乔希接下去看到——晚饭后,“人们唱了一会儿歌,接着上‘晚课’”。讲课的是一位青年女子(该女子原是心理学教员),大意是,人不能光为自己活着,必须想到全世界。一个人宁可自己饿死也要将食物分给别人吃,这就是CCP的哲学。“我们不能光与自己的父母或亲友共享财富,我们必须与全世界共享。请到我们的布恩威利营地来看看吧!”
  于是乔希去“看看”了。临走前,他充分意识到此行的危险性,便给女友留下了自己签字的声明,请求她在他无法自拔的时候通过法律挽救乔希。
  乔希同几十名志愿者(都是受CCP感召而来的)到了布恩威利训练营地——“新理想天堂农场”。次日凌晨,睡眼惺忪的乔希被人从地板上拉起参加唱“早歌”。一个手拿吉他的男人乐呵呵地对人群喊:“你—们—都—好—吗?”“好——极——了!”人群欢乐地呼喊。唱完早歌后,集训营的“兄弟姐妹”纷纷与新来的志愿者们交朋友,“一男邀一女”、“一女邀一男”把他们都带走了。乔希被一个叫贝西亚的漂亮姑娘拉走了,贝西亚从人群中拖起乔希,亲切地凝视着他:“您多像我的一位朋友呀!”接下来的活动是“交心”。这种交心起先只是互相介绍个人的经历和思想感情,但谈着谈着,到最后不知怎的变成了个人忏悔,变成了痛哭流涕。新来者无不把自己最见不得人的行为和隐私向“兄弟姐妹”袒露,而“兄弟姐妹”则在一旁亲切地安慰他(或她)。
  早饭后是“早课”,贝西亚给新来者讲课,说在这个不平等的世界,要由“我们自己”来创造平等的世界。乔希的心被搅乱了,他觉得贝西亚的话其实也有道理,问题是很少有人去真诚地实行它。
  课后又是谈心,新来者与集训营的“兄弟姐妹”轮换交流。到了晚上,“乔希觉得每一根神经都浸透了集训营所灌输的东西”。他想:“也许他们是对的,也许是应该和他们一起去建立‘一个更好的世界’。”
  第三天下午,营地的一个教师给新来者上“历史”课。老师说了哥伦布的故事后讲:“哥伦布预言他可以远渡重洋的时候,人们讥笑他是‘疯子’;我们比哥伦布更‘疯’,我们要改变整个世界!”乔希与志愿者们热烈地鼓掌,他们的心被深深地感染了,乔希决定留下不走了。但女友按事先约定及时打来了电话:“家人病危,速归!”此刻,乔希似乎被猛击一掌,决定迅速离开。
  然后,乔希的一群朋友来接他,而集训营的“兄弟姐妹”为他列队送行,两军对垒。“贝西亚热烈而温存地拥抱着他,恳求他留下来。乔希望着她清澈的蔚蓝色的眼睛,望着那一张张充满热情的笑脸,差点儿没扑到贝西亚的怀里大哭起来。”
  邪教就是这样,不能刺激,善待它,它是温和的;刺激它,它迅速地变脸,极其危险。
  1978年,加利福尼亚州检察官收到大量信件,揭露生活在圭亚那的人民圣殿教的成员受到非人待遇。检察官将信件签发给司法部,司法部向国务院提交了一份例行公文。国务院打电报给美国驻圭亚那的领事馆,查询这些控告是否属实。领事馆回复:经调查,人民圣殿教并无虐待其成员的现象。
  然而控告的信件仍不断寄来,这种现象引起了加利福尼亚州众议员瑞安的注意。瑞安是人民圣殿教的同情者,他想不如亲自到圭亚那走一趟,写个详细的调查报告,让造谣中伤者无话可说。
  瑞安带着记者团两次采访了位于圭亚那原始丛林中的人民圣殿教乡村公社。
  第一次阳光明媚,他们遇到了鲜花、笑语,第二次便遇到了死亡。
  11月27日下午,两架双引擎飞机从圭亚那首都起飞,向圣殿教的营地飞去。飞机在一个小村镇的简易机场降落。这儿离营地只有几公里远,瑞安一行分别乘两辆卡车,沿着泥泞的道路向营地驶去。
  汽车还没停稳,教主吉姆.琼斯笑吟吟地迎上来,说是早听村民报告,有一个庞大的代表团要来。瑞安简单而客气地对琼斯讲,国内收到了一些控告信,尽管他本人不相信这些控告,但作为众议员,他有责任来了解一下同胞的生活状况。
  琼斯的态度很明朗:欢迎采访。向记者们问候之后,他希望记者“参观所有的设施,随意与人民圣殿教的成员交谈”。
  “这里没有任何限制,你们可以像在家里一样,顺便走走转转。我个人有兴趣要外界了解在我们的公社里人们怎样劳动,我们如何根治我们这个腐朽社会的各种恶习以及在这方面所取得的进展。这里的一切情况你们都可以调查核实……”
  通过遍布在营地各处的喇叭,琼斯通知信徒们暂停手头的工作,全部集中到操场上来。
  整个操场成了欢声笑语的海洋。近千名信徒席地而坐,他们当中有老人,有年轻人,有逗着孩子玩的成年夫妇,很多人手中还拿着干农活或盖房子的工具。尽管衣衫褴褛、面容消瘦,然而人人脸上都洋溢着幸福的表情。望着那一张张兴奋的笑脸,感受那节日一般的欢快气氛,记者们尤其是议员瑞安相信,所谓受尽虐待不过是琼斯对立派蓄意制造的无耻谰言而已。
  散会后,记者们分散开到营地的农场、种植园、养殖场、车间、家庭……随机采访,一般无第三者在场。在几个小时的采访中,记者没有发现一个人回答问题时支支吾吾,或畏缩、害怕。所有的人都赞扬琼斯,说他为了众人的幸福付出了一切。
  前来调查所谓集中营问题的人们,看到的却是一个宁静的村庄,动人的歌词唱出了和平、仁爱和人与人之间的理解和互谅。他们看到的不是什么压迫虐待,而是一大批享有充分公民权利的男女。这些男女选择了孤寂的森林作为他们惟一的城堡,以此来抵御消费、竞争和金钱至上的资本主义拜物社会。
  “夜幕降临了,篝火点燃了,年轻人围着篝火尽情地欢唱。他们歌唱爱情,憧憬着一个美好的世界,在那里没有战争,没有自相残杀。”〔15〕
  瑞安认为没有必有再逗留了,他们广泛采访了公社成员,亲眼看到了各种建设成果——住房、学校、医疗所、食堂、缝纫车间、机械工场、木工车间、锻工车间……“任何人都没有权力禁止成百上千的人自愿生活在丛林里。”他们已经得到了大量的“事实来说话”。不管琼斯和营地成员一再挽留,第二天傍晚,代表团还是登上了卡车,准备离开。此时,数百名教徒弹着吉他唱着歌为他们送行……
  但是——这个世界上有多少个“但是”酿成了悲剧?就在代表团成员即将登上卡车的瞬间,一个营地姑娘乘乱偷偷塞给记者一张纸条。记者迅速将纸条塞入口袋,因为他从姑娘的眼神中看出她十分害怕。车开后,记者打开了纸条,上面的笔迹是颤抖的:“请帮助我们,我们想离开这个地狱。”下面是四个人的签名。这名记者迅速将纸条给瑞安看了。
  瑞安非常恼火:为什么在两天的采访中不说?
  到小村镇后,代表团在镇上过了一夜。镇上的居民第一次向记者们透露,以往曾有营地逃亡者逃到这里,甚至逃到乔治敦(圭亚那首都),但都被武装人员抓回去,以后这些人就失踪了。这一夜大家谁也睡不着觉。
  第二天上午,卡车载上瑞安他们,重新向“琼斯公社”驶去。
  代表团再次来到营地,琼斯感到很意外,他原先以为代表团已经消除了对公社的不信任感,但现只同意瑞安将名单上的人带走。琼斯通过扩音器又一次将所有的人召集在一起,声调“迟疑”,神情“绝望”、“痛苦”。他的近千名信徒与他保持了默契,会场上呈现不祥的寂静。瑞安念了名单上的四个人的名字,四个人战战兢兢走出来,站在记者的身边。人群中逐渐有压抑的哭泣声。当琼斯问还有没有其他人愿意走时,经过一阵沉默,又有一些怯生生的手举了起来,使得愿意回美国的人数增加到了二十个。会场上压抑的哭声越来越大。突然人群中跳出来一个年轻人,用匕首向瑞安的脖子刺去,记者们拦住了他,并把匕首夺下来。琼斯默默地看着这一切,一动不动。经过这场惊吓,代表团带上这二十个人,迅速乘卡车离去。
  以下的事件是众所周知的。琼斯派出一队武装人员乘小型卡车追到机场向即将乘机离开的记者们开火,打死五人,打伤十二人。死者中包括瑞安及递纸条的那位营地姑娘。
  接下来,琼斯带领全体人民圣殿教教徒(包括自己及所有亲信)服毒集体自杀。九百二十三名教徒中,只有两名(都是年轻姑娘)反抗,其余全部如痴如醉,服服帖帖受死。
  死之时,一家人抱在一起,一对对恋人抱在一起,因为他们认为这样子在另一个世界又能相逢。
  人民圣殿教原有严酷的戒律,如青年男女间不能有亲昵行为,夫妻相聚必须报琼斯批准,违犯者受严刑拷打并被捆绑示众,死亡却打破了这些戒律。

2008年10月9日星期四

对美次贷危机的精辟解释

对金融危机最普遍的官方解释是次贷问题,然而次贷总共不过几千亿,而美国政府救市资金早已到了万亿以上,为什么危机还是看不到头?有文章指出危机的根源是金融机构采用“杠杆”交易;另一些专家指出金融危机的背后是62万亿的信用违约掉期(Credit Default Swap, CDS)。那么,次贷,杠杆和CDS之间究竟是什么关系?它们之间通过什么样的相互作用产生了今天的金融危机?在众多的金融危机分析文章中,始终没有看到对这些问题的简单明了的解释。本文试图通过自己的理解为这些问题提供一个答案,为通俗易懂起见,我们使用了几个假想的例子。有不恰当之处欢迎批评讨论。

  一。杠杆。目前,许多投资银行为了赚取暴利,采用20-30倍杠杆操作,假设一个银行A自身资产为30亿,30倍杠杆就是900亿。也就是说,这个银行A以 30亿资产为抵押去借900亿的资金用于投资,假如投资盈利5%,那么A就获得45亿的盈利,相对于A自身资产而言,这是150%的暴利。反过来,假如投资亏损5%,那么银行A赔光了自己的全部资产还欠15亿。

  二。CDS合同。由于杠杆操作高风险,所以按照正常的规定,银行不运行进行这样的冒险操作。所以就有人想出一个办法,把杠杆投资拿去做“保险”。这种保险就叫CDS。比如,银行A为了逃避杠杆风险就找到了机构B。机构B可能是另一家银行,也可能是保险公司,诸如此类。A对B说,你帮我的贷款做违约保险怎么样,我每年付你保险费5千万,连续10年,总共5亿,假如我的投资没有违约,那么这笔保险费你就白拿了,假如违约,你要为我赔偿。A想,如果不违约,我可以赚45亿,这里面拿出5亿用来做保险,我还能净赚40亿。如果有违约,反正有保险来赔。所以对A而言这是一笔只赚不赔的生意。B是一个精明的人,没有立即答应A的邀请,而是回去做了一个统计分析,发现违约的情况不到1%。如果做一百家的生意,总计可以拿到500亿的保险金,如果其中一家违约,赔偿额最多不过50亿,即使两家违约,还能赚400亿。A,B双方都认为这笔买卖对自己有利,因此立即拍板成交,皆大欢喜。

  三。CDS市场。B做了这笔保险生意之后,C在旁边眼红了。C就跑到B那边说,你把这100个CDS卖给我怎么样,每个合同给你2亿,总共200亿。B想,我的400亿要10年才能拿到,现在一转手就有200亿,而且没有风险,何乐而不为,因此B和C马上就成交了。这样一来,CDS就像股票一样流到了金融市场之上,可以交易和买卖。实际上C拿到这批CDS之后,并不想等上10年再收取200亿,而是把它挂牌出售,标价220亿;D看到这个产品,算了一下,400亿减去220亿,还有180亿可赚,这是“原始股”,不算贵,立即买了下来。一转手,C赚了20 亿。从此以后,这些CDS就在市场上反复的抄,现在CDS的市场总值已经抄到了62万亿美元。

  四。次贷。上面 A,B,C,D,E,F....都在赚大钱,那么这些钱到底从那里冒出来的呢?从根本上说,这些钱来自A以及同A相仿的投资人的盈利。而他们的盈利大半来自美国的次级贷款。人们说次贷危机是由于把钱借给了穷人。笔者对这个说法不以为然。笔者以为,次贷主要是给了普通的美国房产投资人。这些人的经济实力本来只够买自己的一套住房,但是看到房价快速上涨,动起了房产投机的主意。他们把自己的房子抵押出去,贷款买投资房。这类贷款利息要在8%-9%以上,凭他们自己的收入很难对付,不过他们可以继续把房子抵押给银行,借钱付利息,空手套白狼。此时A很高兴,他的投资在为他赚钱;B也很高兴,市场违约率很低,保险生意可以继续做;后面的C,D,E,F等等都跟着赚钱。

  五。次贷危机。房价涨到一定的程度就涨不上去了,后面没人接盘。此时房产投机人急得像热锅上的蚂蚁。房子卖不出去,高额利息要不停的付,终于到了走头无路的一天,把房子甩给了银行。此时违约就发生了。此时A感到一丝遗憾,大钱赚不着了,不过也亏不到那里,反正有B做保险。B也不担心,反正保险已经卖给了C。那么现在这份CDS保险在那里呢,在G手里。G刚从F手里花了300亿买下了 100个CDS,还没来得及转手,突然接到消息,这批CDS被降级,其中有20个违约,大大超出原先估计的1%到2%的违约率。每个违约要支付50亿的保险金,总共支出达1000亿。加上300亿CDS收购费,G的亏损总计达1300亿。虽然G是全美排行前10名的大机构,也经不起如此巨大的亏损。因此G 濒临倒闭。

  六。金融危机。如果G倒闭,那么A花费5亿美元买的保险就泡了汤,更糟糕的是,由于A采用了杠杆原理投资,根据前面的分析,A 赔光全部资产也不够还债。因此A立即面临破产的危险。除了A之外,还有A2,A3,...,A20,统统要准备倒闭。因此G,A,A2,...,A20一起来到美国财政部长面前,一把鼻涕一把眼泪地游说,G万万不能倒闭,它一倒闭大家都完了。财政部长心一软,就把G给国有化了,此后A,...,A20的保险金总计1000亿美元全部由美国纳税人支付。

  七。美元危机。上面讲到的100个CDS的市场价是300亿。而CDS市场总值是62万亿,假设其中有10%的违约,那么就有6万亿的违约CDS。这个数字是300亿的200倍。如果说美国政府收购价值300亿的CDS之后要赔出1000 亿。那么对于剩下的那些违约CDS,美国政府就要赔出20万亿。如果不赔,就要看着A20,A21,A22等等一个接一个倒闭。无论采取什么措施,美元大贬值已经不可避免。

  以上计算所用的假设和数字同实际情况会有出入,但美国金融危机的严重性无法低估。

2008年9月18日星期四

Informix查询优化

转载于chinaunix一篇"开发优质高效的INFORMIX数据库应用程序",节选部分内容
查询语句(SELECT)的优化
程序设计中的一个著名定律是20%的代码用去了80%的时间,
在数据库应用程序中也同样如此。数据库应用程序的优化通常可分为两个方面:
源代码的优化和SQL语句的优化。源代码的优化在时间成本和风险上代价很高;
另一方面,源代码的优化对数据库系统性能的提升收效有限。
许多程序员认为查询优化是DBMS(数据库管理系统)的任务,
与程序员所编写的SQL语句关系不大,这是错误的。
一个好的查询计划往往可以使程序性能提高数十倍。查询计划是用户所提交的SQL语句的集合,
查询规划是经过优化处理之后所产生的语句集合。
DBMS处理查询计划的过程是这样的:在做完查询语句的词法、语法检查之后,
将语句提交给DBMS的查询优化器,优化器做完代数优化和存取路径的优化之后,
由预编译模块对语句进行处理并生成查询规划,然后在合适的时间提交给系统处理执行,
最后将执行结果返回给用户。虽然现在的数据库产品在查询优化方面已经做得越来越好,
但由用户提交的SQL语句是系统优化的基础,很难设想一个原本糟糕的查询计划经过系统的优化之后会变得高效,
因此用户所写语句的优劣至关重要。
1、对查询语句进行优化的理由
下列几方面的原因是我们进行SQL语句优化的理由:
◆ SQL语句是对数据库(数据)进行操作的惟一途径;
◆ SQL语句消耗了70%~90%的数据库资源;
◆ SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低;
◆ SQL语句可以有不同的写法;
◆ SQL语句易学,难精通。
从大多数数据库应用系统的实例来看,查询操作在各种数据库操作中所占据的比重最大,而查询操作所基于的SELECT语句在SQL语句中又是代价最大的语句。
2、查询语句(SELECT)的优化建议
(1)、合理使用索引:where子句中变量顺序应与索引字键顺序相同。
如:create index test_idx on test(bdh, rq, xz)
   索引字键顺序:首先是保单号bdh,其次是日期rq,最后是险种xz,
所以where子句变量顺序应是where bdh<=“P1234”and rq=“06/06/1999”and xz=“DAA”,
不应是where xz=“DAA” and rq=“06/06/1999” and bdh <=“P1234”这样的不按索引字键顺序写法。
(2)、将最具有限制性的条件放在前面,大值在前,小值在后。
   如:where colA<=10000 AND colA>=1 效率高
   where colA>=1 AND colA<=10000 效率低
(3)、避免采用MATCHES和LIKE通配符匹配查询
通配符匹配查询特别耗费时间。即使在条件字段上建立了索引,在这种情况下也还是采用顺序扫描的方式。
例如语句:SELECT * FROM customer WHERE zipcode MATCHES “524*”
可以考虑将它改为SELECT * FROM customer WHERE ZipCode<=“524999” AND ZipCode >=“524000”,
则在执行查询时就会利用索引来查询,显然会大大提高速度。
(4)、避免非开始的子串
例如语句:SELECT * FROM customer WHERE zipcode[2,3] >“24”,在where子句中采用了非开始子串,因而这个语句也不会使用索引。
(5)、避免相关子查询
一个字段的标签同时在主查询和where子句中的查询中出现,那么很可能当主查询中的字段值改变之后,
子查询必须重新查询一次。查询嵌套层次越多,效率越低,因此应当尽量避免子查询。如果子查询不可避免,
那么要在子查询中过滤掉尽可能多的行。
例如:将下面的语句
select bdh,bf from TabA
where item IN (select item form TabB where TabB.num=50)
改为:select bdh,bf from TabA, TabB
where TabA.item=TabB.item AND TabB.num=50
(6)、避免或简化排序
应当简化或避免对大型表进行重复的排序。当能够利用索引自动以适当的次序产生输出时,
优化器就避免了排序的步骤。以下是一些影响因素:
◆ 索引中不包括一个或几个待排序的字段;
◆ group by或order by子句中字段的次序与索引的次序不一样;
◆ 排序的字段来自不同的表。
为了避免不必要的排序,就要正确地增建索引,合理地合并数据库表(尽管有时可能影响表的规范化,但相对于效率的提高是值得的)。
如果排序不可避免,那么应当试图简化它,如缩小排序的字段的范围等。
(7)、消除对大型表行数据的顺序存取
在嵌套查询中,对表的顺序存取对查询效率可能产生致命的影响。比如采用顺序存取策略,
一个嵌套3层的查询,如果每层都查询1000行,那么这个查询就要查询10亿行数据。
避免这种情况的主要方法就是对连接的字段进行索引。例如,两个表:学生表(学号、姓名、年龄……)
和选课表(学号、课程号、成绩)。如果两个表要做连接,就要在“学号”这个连接字段上建立索引。
还可以使用并集来避免顺序存取。尽管在所有的检查列上都有索引,
但某些形式的where子句强迫优化器使用顺序存取。
下面的查询将强迫对orders表执行顺序操作:
SELECT * FROM orders WHERE (cust_num=126 AND order_num>1001) OR order_num=1008
虽然在cust_num和order_num上建有索引,但是在上面的语句中优化器还是使用顺序存取路径扫描整个表。
因为这个语句要检索的是分离的行的集合,所以应该改为如下语句:
SELECT * FROM orders WHERE cust_num=126 AND order_num>1001
UNION
SELECT * FROM orders WHERE order_num=1008
这样就能利用索引路径处理查询。
(8)、对于大数据量的求和应避免使用单一的sum命令处理,可采用group by方式与其结合,有时其效率可提高几倍甚至百倍。
(9)、避免会引起磁盘读写的rowid操作。在where子句中或select语句中,用rowid要产生磁盘读写,是一个物理过程,会影响性能。
(10)、使用临时表加速查询
把表的一个子集进行排序并创建临时表,有时能加速查询。它有助于避免多重排序操作,而且在其他方面还能简化优化器的工作。
但要注意:临时表创建后不会反映主表的修改。在主表中数据频繁修改的情况下,注意不要丢失数据。
五、 其他措施
如何优化一套数据库应用程序,除了以上所述的措施外,还有一些分析并提高效率的措施在实际工作中亦应注意使用。
(1)、利用set explain on语句来分析数据库查找策略。
当发现某一部分INFORMIX语句运行特别慢又找不到原因时,
可在程序中的查询语句之前加入“set explain on”语句,当程序运行时,
在程序运行的当前目录下产生一个“sqexplain.out”文件,
记录了INFORMIX数据库服务器采用何种优化策略来查找数据库。
在该文件中可以发现查找中有无使用索引条件,估计的查找代价等信息。
(2)、数据库在做dbimport后应运行update statistics语句。
当数据库系统用dbimport实用程序完成数据库装载后,应运行update statistics数据库语句保证系统表中统计信息准确,否则将影响数据库优化器的策略和系统运行性能。
例如:select * from test where bdh matches “PC2002*”
test表在bdh字段上建立了索引,但在数据库运行update statistics前,数据库优化查找策略是按顺序查找而不是按索引查找,严重影响了查找速度。
(3)、经常插入和删除的大表应定期运行update statistics high语句。
  对经常插入和删除的大表应定期运行update statistics语句保证系统表中统计信息准确,保证数据库优化器作出正确的优化策略提高系统运行性能。
(4)、对大文件采用load命令装载入库前可先去掉原有的日志方式和去掉索引,等load装载完成后再重建索引和日志,能大幅提高装载效率,避免出错产生。
◆ 去掉原有的日志方式:ontape -S -N dbname
◆ 删除索引:delete index indexname
◆ 用load 装入数据:load from filename insert into tabname
◆ 重建索引:create index to indexname on tabname(colA,colB,……)
◆ 重建日志:ontape -C -B dbname
(5)、针对ESQL/C编程,还应注意程序中的进程的使用
◆INFORMIX数据库中一个事务处理不要跨多个进程。例如:
  begin work;
  ……
  if(fork()==0){ /*子进程处理*/
  ……
  conmit work; /*(或rollback work;)*/
  ……
  }
这种方式,将引起数据库运行效率很低或处理异常。
◆在应用上引入多进程并发处理,充分利用系统资源,能大大提高处理效率。

2008年9月12日星期五

一句话

德国作家尚保罗说过很耐人寻味的话:
人生犹如一本书—愚蠢的人将它草草翻过,
聪明的人却会将它细细阅读,
为什么呢?
因为聪明的人知道,只能读一次。
当还能拥有时——好好珍惜吧:
爱情如此……
友情如此……
亲情更是如此……
最关心你的人……
别只是永远被你排诸于外……
当失去了,流泪又能做什么。

2008年8月6日星期三

奥运放风

因为奥运,迫于国外的压力,如下网站已经解封:(大家多多宣传,传遍你的每个QQ群)
西方媒体:
路透社 http://cn.reuters.com/
维基百科 http://zh.wikipedia.org/
自由亚洲电台 http://www.rfa.org/mandarin/
美国之音 http://www.voanews.com/chinese/
华尔街日报 http://chinese.wsj.com/gb/index.asp
金融时报中文 http://www.ftchinese.com/sc/index.jsp
香港媒体:
明报新闻网 http://www.mingpaonews.com/
明报月刊 http://www.mingpaomonthly.com/cfm/main.cfm
亚洲时报 http://www.atchinese.com/
亚洲周刊 http://www.yzzk.com/cfm/main.cfm
南华早报 http://www.scmp.com/portal/site/SCMP/
南华早报中文 http://olympics.scmp.com/GCO_Simpchi_Index.aspx
苹果日报 http://www1.appledaily.atnext.com/template/apple/sec_main.cfm?
台湾媒体:
联合新闻网 http://udn.com/NEWS/main.html
中国时报 http://news.chinatimes.com/mainpage.htm
自由时报 http://www.libertytimes.com.tw/index

2008年7月31日星期四

装修注意100条

一、水电
1、防水施工宜采用涂膜防水
2、防水工程应该在隐蔽工程施工完成并验收后做
3、防水施工完成后要做2次蓄水试验
4、浴室防水层应该不低于1.8cm
5、地漏、护阳角、管道等地方要多做一次防水工程
6、地漏要用防臭地漏
7、冷热水管左热右冷
8、水管尽量不要从地上走
9、冷水管在墙表要有1cm的保护层,热水管是1.5cm,因此槽要开得深
10、装PPR管要考虑贴好瓷砖的厚度,这样管子不会露出来
11、烧菜只有几分钟,洗菜要很久,水门一定要买大的
12、龙头和台盆要配套,弄不好就装不上去
13、马桶安装不能用水泥,要用硅胶
14、马桶、龙头安装好后要注意保护
15、买马桶时要考虑马桶的坑距
16、洗衣机要考虑是上排水还是下排水
17、卫生间里最好不要装电话,容易受潮
18、卫生间里的镜子要先考虑好尺寸,否则镜前灯很容易就装高
19、卫生间管道最好留检修孔
20、强电弱电不能装一根管子里
21、左零、右相上接地
22、电源插座距地30cm,开关140cm
23、开关不要装在门背后
24、插座多多宜善
25、大功率电器用16A插座,如空调等
26、暗盒要用好的
27、暗盒一定要和面板配套,否则有可能装不上
28、PVC电线管内电线截面面积不得超过电线管截面面积的40%
29、卧室的空调不要对着床
30、空调洞要考虑向外倾斜,否则雨水会进来
31、灯尽量考虑双控
32、卫生间最好安装防溅插座
33、阳台上要考虑安装插座
34、电线槽要横平竖直排好,以后用起来方便
35、公用烟道要装止逆阀
36、买来的电器一定要好好让工人看说明书
37、说明书和保修卡等资料一定要留好


二、泥工
38、水泥超过出厂期三个月就不能用了
39、不同品种、标号的水泥不能混用
40、黄砂一定要用河砂,用嘴尝味道就知道了
41、墙地砖要浸水两个小时以上,阴干后才能贴
42、墙地砖宁可多买几片,不要少买,否则容易出现色差
43、一面墙上不能有两排非整砖
44、插缝完成后要立即对瓷砖进行清理
45、地面贴大理石(浅色),石材背面要做防水
46、阳角处要割45度角
47、地砖要向地漏处倾斜,否则容易积水
48、墙砖碰到管道口要采用套割的形式,这样看起来还是整块的砖
49、地面大理石宜干铺
50、地砖一定要耐脏,防滑,不要光为了好看
51、亚光瓷砖难清理
52、阳台地砖要注意排水方向

三、木工
53、地龙骨最好用烘干落叶松
54、大的木板材买来后就要锯开风干
55、木工进场先要弹房子水平线
56、花色面板一进来就要买油漆刷一遍,防止被弄脏
57、吊扇不能装在吊顶龙骨上
58、花色面板施工时要预先挑色
59、吊顶的吊筋距离墙边不得大于300mm
60、石膏板要用沉头自攻螺丝固定,进入板面1~2mm,并做防锈处理,不能用枪钉
61、石膏板钉子之间的距离不得大于200mm
62、石膏板要与墙有3mm的缝,以便进行防裂处理
63、石膏板阳角处最好做阳角条保护
64、木门的上下冒头处要刷油漆
65、卫生间门套的底部要刷一下防水
66、房门的大小应该一致
67、家具尽量不要让木工做,做也做不好的
68、橱柜尽量买整体的,木工做不好,设计也不行
69、各种尺寸一定要考虑好,改起来比较麻烦了
70、自己做的移门不要做暗轨道,以后没办法维修的
71、卫生间小则尽量做移门,不要做开门,占地方
72、吃不准的木工活一定要与工头多交流,千万不能让他们自做主张
73、钱在手里是硬道理
74、家里有小孩,玻璃要少用
75、一定要让工人好好看图纸
76、厨房抽屉很有用
77、地板木龙骨平整度是5mm
78、毛地板要铺成30度或45度,板和板之间留2~3mm,缝要错开
79、地板和墙之间要留8~10mm的缝
80、复合地板长度超过8m时要考虑伸缩缝
81、尽量少用中密度板做门套
82、铰链和五金一定要用好的
83、浴霸要装在木龙骨上,不能直接装在吊顶上


四、油漆
84、中、深色乳胶漆施工时尽量不要掺水,否则容易出现色差
85、石膏板接缝处要上绷带
86、墙面有缝隙的地方要上的确凉布比较好
87、原来墙面有的腻子最好铲除,或者刷一遍胶水封固
88、尽量买知名品牌的油漆,装修公司推荐或工头推荐的没名气的尽量不要用
89、天气太潮湿,油漆不要刷
90、油漆、涂料的打磨要等完全干透后进行
91、下一道油漆施工必须等前一道油漆干透后进行
92、金属面的油漆要做防锈处理
93、天气太冷,油漆施工质量会差的
94、门油漆时,要用美纹纸贴住铰链和门锁
95、天太热,要注意通风
96、贴墙纸时,要在墙上刷清油
97、贴墙纸时,要把开关、插座的面板卸下来
98、亮光、丝光的乳胶漆要一次完成,补的容易出现色差
99、踢脚线安装好后要用腻子和乳胶漆补一下缝
100、磨砂玻璃要用报纸保护好

2008年7月30日星期三

有点意思,《大话西游》

世界是巨大的枷锁,你不得不重复自己或是别人的生活。
  记得长辈说过:年轻是一种罪过。他们说我们不成熟。
  真切地为自己的不俗喝彩,在深切的郁闷中,突然就看懂了《大话西游》的开头:一位才华横溢又无法无天的青年(孙悟空),根本不喜欢世人摊派给他的大事业(西天取经)。他尤其受不了师父(唐僧)的唠唠叨叨,可世俗条规(观音)又不放过他。为让他悔悟,心甘情愿地去取经,唐僧和观音达成妥协:让他五百年后重新做人。这真是一个宿命的开始。
  师兄曰:“大学的孩子都是玻璃罐里养蛤蟆,前途光明出路不大。”再贴切不过。大闹天宫无非是大学四年的黄金时光罢了,找到工作走上社会任你盖世的才华浑身的个性也自有翻不出的五指山来压。只有戴上紧箍咒取经去,九九八十一难,做一个奇奇怪怪的佛。你别无选择。
  五百年后的悟空叫至尊宝,在五岳山从事一份很有前途的职业——山贼。命运却要他扮演孙悟空,至尊宝只是个过渡罢了。蜘蛛精来了,白骨精来了,菩提老祖来了,牛魔王也来了……都是棋子,安静地立在命棋盘的中央。
  他的路线是早定好的:(1)一个人给他三颗痣(2)戴上紧箍咒(3)打败牛魔王(4)西天取经。可怜的至尊宝什么都不知道,认认真真做山贼,还爱上了白骨精,想和她结为百年之好。
  所有的事都瞒着他接二连三地发生。
  十年前我绝对不知道今天自己会在XX这所城市里打拼,如今已隐隐感受到那冥冥之中的牵引。可怕的是这还绝不是终点,不到游戏结束我不会知道答案。真相将揭晓,在我临死的瞬间。
  给至尊宝三颗痣的人是紫霞仙子。谁说的:总有一个女孩出现,让男孩最终成为男人。而男人永远都不可能得到她,那简直是一定的。
  非常喜欢紫霞的开场白:“现在我郑重宣布,这座山上所有的东西都是我的,包括你。”那样的气贯云霄,像一个童话故事。
  而现实是:这个世界没有什么属于你,包括你自己。也许我们就是为了创造属于自己的东西才来到这个世上,因为年轻,所以押注于爱情。
  至尊宝拒绝了紫霞,他以为自己还爱晶晶。见到晶晶,他又发现紫霞才是真爱。命运一直在同他开玩笑:至尊宝忽然成了孙悟空,千辛万苦找晶晶又爱上了紫霞。而抉择是那样残酷:要打败牛魔王救紫霞,就必须戴上紧箍咒做回神通广大的孙悟空;而戴上紧箍咒就不能有半点情欲,只有取经去。
  为至尊宝不平:不明白在这样的故事里为何爱情总要成为牺牲品,干嘛不让周星弛携紫霞纤纤小手——走先!爱情是那样美丽而脆弱,无法直面生活的琐碎和坚韧。哪段感情又没有绚烂的瞬间和艰难的长久,在一起就会幸福吗,未必。
  为紫霞叫好,"我的生活我做主",一个仙子为了所爱所恨抛弃一切.虽然结局是她没有猜到了.可是她永远留在了人们的心里.
  至尊宝挖开自己的心,看到了紫霞留在那里的一滴眼泪,毕竟曾经沧海过。五百年又五百年,兜了一个大圈子又回到了原地。人没能战胜命运,而人的尊严却在抗争中得到了肯定,人的情感也必将不朽。“生亦何欢,死亦何苦。”大彻大悟。
  紧箍咒,圈住昔日的梦想,圈住棱角分明的个性。
  成熟是一个很痛的词,它不一定会得到,却一定会失去。
  罗曼蒂克、海誓山盟、生死相许……面对爱情这些都是琐碎,不值一提。爱情就是爱情,不是别的什么东西。能与爱情同在的只有生命,其他都滚一边儿去。
  你爱了,难道还不够吗?
  悟空爱了,不论晶晶还是紫霞,他都要将爱情进行到底。
  晶晶爱了,那个弃她而去的悟空,“不能和喜欢的人在一起,做人又怎会开心。”
  紫霞爱了,“谁拔出我的紫青宝剑,谁就是我的如意郎君。”
  爱一个人需要理由吗?
  孙悟空会爱白骨精,*八戒爱上了蜘蛛精。紫霞爱他至深,因为他拔出了一把剑。
  故事里的人找爱人的理由永远千奇百怪:王子要用水晶鞋才能找到灰姑娘,薛宝钗要那有玉的人来配……可生活永远现实得多,芸芸众生,谁又能许谁一个未来,自欺欺人罢了。
  有理由也好,没理由也罢,可还是要爱。让我去,过程就是结果,无悔。至此后漫漫长路我独行。
  爱无须掩饰无须矫做无须患得患失,只要像紫霞一样说:“让我们立刻开始这段感情吧!先亲我一下。”
  晶晶口中道:“我再也不会为这个男人心痛了。”可还是要为他拔剑与人拼命。
  至尊宝梦中也要叫紫霞的名字七百四十一次,不知道的人觉得紫霞一定欠了他很多钱。
  爱是身不由己.
  紫霞说:“就象飞蛾,明知会受伤也要扑到火上。”“我无力抗拒,向你狂奔去。”无可救药的痴迷。
  爱是奋不顾身。
  至尊宝对晶晶说:“你杀了我吧,我不希望你看我的时候心里却想着别的人。”
  晶晶以为:“都是骗我的。”跳下崖去。
  紫霞把身体挡在至尊宝面前,刺进牛魔王的铁叉里。
  一时间,以后的人生如何,大家都无所谓了。连那样宝贵的性命,也打算随时给爱情作了祭品。一个个一头扎进这情爱苦海,宁愿永生永世不得超生。
  爱是深刻莫测的,。
  三十娘流着泪说:“想我春三十娘貌美如花,却跟这么丑的人有了。”这是多少美丽自负的女子的宿命:心中的他是能文能武翩翩少年,枕边人却鼾声如雷大腹便便。谁敢说多年后眼望自己的丈夫不会有如此感觉,真不知幸福还是心酸。不过还是要为他挺
  身而去无限牺牲,像春三十娘为*八戒放下断龙石与牛魔王同归于尽。
  晶晶爱悟空,至尊宝爱晶晶,紫霞爱至尊宝,“他爱你你爱我我爱他”,千古无解的方程。《白马啸西风》里说:“如果你深深爱着的人,却又深深爱上了别人,能有什么法子?”
  所以紫霞说:“爱一个人原来是那么痛苦。”晶晶找不到那个抛弃她的悟空(象不象殷离),告诉至尊宝:“你经过五百年回来要找的不是我。”至尊宝原以为可以与初恋共度今生,谁知初恋的时候并不懂情爱人生。当年被他推开的紫霞已经悄无声息地抵达他灵魂的最深处,而他却不自知。可紫霞死了:“我的意中人是个盖世英雄,有一天他会踩着七色的云彩来娶我,我猜中了前头,可是我猜不着这结局……”
  没有人猜得中结局,一切随风而去。
  恋爱的时候我们都不懂爱情,懂得爱情后却失去了可以相爱的时光。
  最绝望不是他不爱你或他离你而去,最绝望是你忘记了怎么去爱一个人,你已丧失了爱的能力。
  请记住下面的台词:“曾经有一份真诚的爱情摆在我的面前,但是我没有珍惜。等到了失去的时候才后悔莫及,尘世间最痛苦的事莫过于此。如果上天可以给我一个机会再来一次的话,我会对你说三个字“我爱你”。如果非要把这份爱加上一个期限,我希望是一万年!”也顺便记住这段话的原版,在王家卫的《重庆森林》里:“如果记忆是一个罐头,我希望它永远都不会过期,如果一定要加上一个期限的话,我希望是一万年。”
  至尊宝第一次说这番话是骗紫霞,第二次说已痛不欲生。总有一天,你会在灵魂最温柔的一隅为她重复这段话,为了你们即将封存的一万年。“如果有一天我忍不住问你,你一定要骗我。不管你心里有多么不愿意,你都不要告诉我你从来没有喜欢过我。”
  此情可待成追忆
  只是当时已惘然!
  经历过和正在经历着悟空式的命运和紫霞式的爱情,才发现生命的本质是以最低的姿态出现的。
  英雄?你为什么不问问做英雄的代价......

2008年7月28日星期一

埃舍尔魔镜


埃舍尔出生于1898年的荷兰北部。早于1916年,他已经熟识油耗浮雕印刷术。1917年,他在画家史蒂格文的印刷公司制作蚀刻版画。1919年,在贺林的建筑装饰艺术学院修读建筑学。当时得到美术老师梅斯昆泰的熏陶,对装饰设计艺术产生浓厚兴趣,尤其是木刻版画。自那时开始,埃舍尔的生活便于他的作品连在一起,在致给父母亲的书信中,他时常将工作过程一一道说出来。 埃舍尔多次表达数学上有趣的茂比乌斯带。当一条丝带被扭曲后,将两端连在一起,则丝带的正面和反面是相间地连接起来的。但这种曲面带的现象若由平面图画表达出来则毫不容易,1963年的《红蚁》便是这种题材的作品,也是一件稀有的埃舍尔套色版画。埃舍尔在他的著作中,指出特别偏好两色的外型结构,因为图形的本质需要,他才加上颜色。



1961年的《瀑布》是埃舍尔最后期的奇异建筑式图画,他依据彭罗斯的三角原理,将整齐的立方物体堆砌在建筑物上。这种不合情理的结构亦见于1958年的《嘹望塔》,作品中的建筑物和人物手持的立方体都是怪异的。埃舍尔的作品骤看起来没有什么奇怪的地方,但其实当中蕴藏的幻觉事物是最引人入胜的。参观者每每把他们认识的真实世界,与埃舍尔的虚构幻像相混比较,而产生迷惑。例如作品《瀑布》的流水穿流不息,完全违反地心吸力,所表达的图像是毫不合理的。


埃舍尔把自己称为一个"图形艺术家",他专门从事于木版画和平版画。1898年他出生在荷兰的 Leeuwarden,全名叫 Maurits Cornelis Escher。他的家庭设想他将来能跟随他的父亲从事建筑事业,但是他在学校里那可怜的成绩以及对于绘画和设计的偏爱最终使得他从事图形艺术的职业。他的工作成果直到五十年代才被注意,1956年他举办了他的第一次重要的画展, 这个画展得到了《时代》杂志的好评, 并且获得了世界范围的名望。在他的最热情的赞美者之中不乏许多数学家, 他们认为在他的作品中数学的原则和思想得到了非同寻常的形象化。因为这个荷兰的艺术家没有受过中学以外的正式的数学训练,因而这一点尤其令人赞叹。随着他的创作的发展,他从他读到的数学的思想中获得了巨大灵感,他工作中经常直接用平面几何和射影几何的结构,这使他的作品深刻地反映了非欧几里德几何学的精髓,下面我们将看到这一点。他也被悖论和"不可能"的图形结构所迷住,并且使用了罗杰·彭罗斯的一个想法发展了许多吸引人的艺术成果。这样, 对于学数学的学生,埃舍尔的工作围绕了两个广阔的区域:"空间几何学"和我们或许可以叫做的"空间逻辑学"。

2008年7月25日星期五

没有眼泪

分手了,蓝是个很好的女孩,很漂亮也很温柔,虽然很多朋友说我离开她很傻,可我还是放手了,虽然我很舍不的。
第一天, 她没有起床,把自己用被子捂的严严实实的,她宿舍的人都不敢去安慰她,她一天都没有吃饭,连刷牙洗脸都没有,晚上睡觉的时候我听到她在被子里抽泣。
第二天, 今天她吃饭了,是她的宿舍同学强制性的让她吃的,她的眼眶红红的,我总说她是个爱哭鬼,她每次都噘着小嘴说她不是。
第三天, 今天她穿的很妖艳,走进一家酒吧,喝了好多酒,用一种很诱惑的眼光环视全场,好多人上来搭腔“小姐,你好漂亮啊”。她喝了很多,当一个年纪可以做她爸爸的男人对她说“小姐,我送你回家吧”的时候她把手中的酒全泼在他的脸上,那个该死的老头扬起他的手掌就要打下去的时候,小睦他们来了,救了蓝,这一切我都知道,我就在酒吧的一个角落里看着。
第四天, 今天她早早就起床了,忙忙碌碌一上午,然后把自己关在浴室里好久,当舍友们踹门进去的时候都惊呼到:好干净啊。
第五天, 她开始学习了,其实她原来学习很好,我们开始后受我影响她的成绩也退步了,这也好,转移一下注意力,恢复的也快。
三个月后。。。。她做了学生会主席,她考研了。  
一年后。。。。。在她身边的男人很多,比我优秀的也很多,可她根本没在意过,不过她和凌很好,校园里传他们的关系很暧昧。她只是把他当哥哥,可是流言是挡不住的。三年后。。。。。她要结婚了,新郎是凌,她在写结婚请贴,一张,两张,三张,,,写到第十二张的时候她哭了,趴在桌上眼泪完全抑制不住,我上前一看,所有的喜贴新郎写的都是我的名字。我也很想哭,可是鬼魂是不能哭的,我没有眼泪。三年前,我横穿马路,遇上车祸,手里提着要给她庆祝生日的蛋糕。

2008年7月24日星期四

狗狗智商的排名及测试

排名依次是:

1.边境牧羊犬

2.贵宾犬

3.德国牧羊犬

4.金毛猎犬

5.杜宾犬

6.喜乐蒂犬(谢德兰牧羊犬)

7.拉布拉多猎犬

8.蝴蝶犬

9.洛威拿

10.澳洲牧牛犬

11.威尔斯科基犬

12.迷你型雪纳瑞

13.英国跳猎犬

14.比利时特弗伦犬

15.史其派克犬/比利史牧羊犬

16.苏格兰牧羊犬

17.德国短毛指示犬

18.英国可卡/标准型雪纳瑞

19.布列塔尼猎犬

20.美国可卡

21.威玛猎犬

22.伯恩山犬

23.松鼠犬

24.爱尔兰水猎犬

25.维兹拉犬

26.卡狄肯威尔斯科基犬

27.切萨皮克湾拾列犬/波利犬/约克夏埂

28.巨型雪纳瑞

29.万能埂

30.伯瑞犬

31.威尔斯跳猎犬

32.曼彻斯特埂

33.萨莫耶犬

34.纽芬兰狗/澳洲埂/美国斯塔福郡埂/戈登蹲猎犬/长须牧羊犬

35.凯恩埂/凯利蓝埂/爱尔兰埂

36.挪威猎糜犬

37.猴面埂/丝毛埂/迷你品犬/法老王猎犬/克伦伯长毛垂耳猎犬

38.洛威埂

39.斑点狗

40.贝林顿埂

41.爱尔兰猎狼犬

42.库瓦兹犬

43.萨路基猎犬

44.骑士查里王猎犬/德国刚毛指示犬

45.西伯利亚雪撬犬/比熊犬

46.藏獒/灵堤/英国猎狐犬/美国猎狐犬/格里芬犬

47.西高地白埂

48.拳师狗/大丹狗

49.腊肠狗

50.阿拉斯加雪撬犬

51.沙皮狗

52.罗德西亚背脊犬

53.爱尔兰埂

54.波斯顿埂/秋田狗

55.斯凯埂

56.西里罕埂

57.巴哥犬

58.法国斗牛犬

59.马尔济斯犬

60.意大利灵堤

61.中国冠毛犬

62.丹地丁蒙埂/西藏埂

63.英国老式牧羊犬

64.比利牛斯山犬

65.苏格兰埂/圣伯纳犬

66.牛头埂

67.吉娃娃

68.拉萨犬

69.斗牛獒犬

70.西施犬

71.巴吉度猎犬

72.比格犬/獒犬

73.北京犬

74.血堤

75.苏俄牧羊犬

76.松狮犬

77.老虎狗

78.见生吉犬

79.阿富汗猎犬

2008年7月23日星期三

十大经典佛教名句,,你最中意哪条?

经典一:一切皆为虚幻。
经典二:不可说。   
经典三:色即是空,空即是色。   
经典四:人生在世如身处荆棘之中,心不动,人不妄动,不动则不伤;如心动则人妄动,伤其身痛其骨,于是体会到世间诸般痛苦。   
经典五:佛生五色茎,一花一世界,一佛一如来。   
经典六:前生500次的回眸才换得今生的一次擦肩而过。   
经典七:大悲无泪,大悟无言,大笑无声。   
经典八:苦海无边,回头是岸。放下屠刀,立地成佛。   
经典九:菩提本无树,明镜亦非台,本来无一物,何处惹尘埃。   
经典十:我不入地狱,谁入地狱。

2008年7月22日星期二

常用数据库JDBC连接写法

1. MySQL(http://www.mysql.com)mm.mysql-2.0.2-bin.jarClass.forName( "org.gjt.mm.mysql.Driver" );cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd );

2. PostgreSQL(http://www.de.postgresql.org)pgjdbc2.jarClass.forName( "org.postgresql.Driver" );cn = DriverManager.getConnection( "jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd );

3. Oracle(http://www.oracle.com/ip/deploy/database/oracle9i/)classes12.zipClass.forName( "oracle.jdbc.driver.OracleDriver" );cn = DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd );

4. Sybase(http://jtds.sourceforge.net)jconn2.jarClass.forName( "com.sybase.jdbc2.jdbc.SybDriver" );cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd );//(Default-Username/Password: "dba"/"sql")

5. Microsoft SQLServer(http://jtds.sourceforge.net)Class.forName( "net.sourceforge.jtds.jdbc.Driver" );cn = DriverManager.getConnection( "jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master", sUsr, sPwd );

6. Microsoft SQLServer(http://www.microsoft.com)Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master", sUsr, sPwd );

7. ODBCClass.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );Connection cn = DriverManager.getConnection( "jdbc:odbc:" + sDsn, sUsr, sPwd );

8.DB2(新添加)Class.forName("com.ibm.db2.jdbc.net.DB2Driver");String url="jdbc:db2://192.9.200.108:6789/SAMPLE"cn = DriverManager.getConnection( url, sUsr, sPwd );

补充Microsoft SQL Server series (6.5, 7.x and 2000) and Sybase 10JDBC Name: jTDSURL: http://jtds.sourceforge.net/Version: 0.5.1Download URL: http://sourceforge.net/project/showfiles.php?group_id=33291

语法:Class.forName("net.sourceforge.jtds.jdbc.Driver ");

Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver://host:port/database","user","password");

orConnection con = DriverManager.getConnection("jdbc:jtds:sybase://host:port/database","user","password");

PostgresqlJDBC Name: PostgreSQL JDBCURL: http://jdbc.postgresql.org/Version: 7.3.3 build 110

Download URL: http://jdbc.postgresql.org/download.html

语法:Class.forName("org.postgresql.Driver");

Connection con=DriverManager.getConnection("jdbc:postgresql://host:port/database","user","password");

IBM AS400主机在用的JDBC语法有装V4R4以上版本的Client Access Express可以在C:\Program Files\IBM\Client Access\jt400\lib找到 driver 档案 jt400.zip,并更改扩展名成为 jt400.jar

语法java.sql.DriverManager.registerDriver (new com.ibm.as400.access.AS400JDBCDriver ());

Class.forName("com.ibm.as400.access.AS400JDBCConnection");con = DriverManager.getConnection("jdbc:as400://IP","user","password");informixClass.forName("com.informix.jdbc.IfxDriver").newInstance();

String url = "jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword";

Lib:jdbcdrv.zip

Class.forName( "com.sybase.jdbc.SybDriver" )url="jdbc:sybase:

Tds:127.0.0.1:2638/asademo";

SybConnection connection= (SybConnection)DriverManager.getConnection(url,"dba","sql");

补充两个SAP DBClass.forName ("com.sap.dbtech.jdbc.DriverSapDB");

java.sql.Connection connection = java.sql.DriverManager.getConnection ( "jdbc:sapdb://" + host + "/" + database_name,user_name, password)InterBaseString url = "jdbc:interbase://localhost/e:/testbed/database/employee.gdb";

Class.forName("interbase.interclient.Driver");//Driver d = new interbase.interclient.Driver (); /* this will also work if you do not want the line above */Connection conn = DriverManager.getConnection( url, "sysdba", "masterkey" );

HSqlDBurl: http://hsqldb.sourceforge.net/

driver: org.hsqldb.jdbcDriver连接方式有4种,

分别为:

con-str(内存): jdbc:hsqldb.con-str

(本地): jdbc:hsqldb:/path/to/the/db/dircon-str

(http): jdbc:hsqldb:http://dbsrvcon-str

(hsql): jdbc:hsqldb:hsql://dbsrv

2008年7月15日星期二

据说知道10条的人就是知识渊博的

01 : 人类全身上下,最强韧有力的肌肉,竟是舌头。

02 : 张开眼睛打喷嚏是不可能的。

03 : 憋气自杀也是不可能成功的。

04 : 每一次你舔一张邮票的背胶,你就吸收了十分之一卡路里。

05 : 右撇子平均比左撇子多活九年。

06 : 鳄鱼无法伸出它们的舌头。

07 : 北极熊都是左撇子。

08 : 某些狮子可以一天之内交配50次以上。果真是万兽之王呀...

09 : 鸵鸟的眼睛比脑袋大;而海星至今还没演化出脑。

10 : 跳蚤可以跳过它们350倍身长的距离,相当于一个人跳过一个美式足球场。

11 : 一只被摘掉头的蟑螂可以存活9天,9天后死亡的原因则是过度饥饿? 所以还是当场立刻打死好

12 : 长颈鹿没办法咳嗽

13 : 猫头鹰是唯一能够分辨蓝色的鸟类

14 : 一只鲸鱼一分钟心跳只有九下

15 : 巧克力含有一种称为苯基的化学物质,跟你谈恋爱时大脑里头可以制造出来的东西一样

16 : 只有百分之三十的人可以放大缩小自己的鼻孔

17 : 一只牡蛎的性别会由男变女,此后一生中还会变个几次

18 : 艾菲尔铁塔的草稿蓝图摊开来有超过14000平方呎的面积

19 : 在太空中太空人是没办法哭的,因为没有地心引力,眼泪流不出来

20 : 瞎眼的变色龙还是有能力变色来适应周遭环境

21 : 大象死后还会保持站立姿势

22 : 有些昆虫没有头还可以再活上一年

23 : 达芬奇光是画蒙娜丽莎的嘴唇就花上十二年

24 : 玻璃破掉时,玻璃碎片的时速最高可达每小时三千英哩

25 : 乳牛听音乐时可以供应更多牛奶

26 : 下午摘下的玫瑰比清晨摘下的玫瑰更能持久不枯萎

27 : 一只70磅的章鱼可以穿过一个仅一枚银币大小的洞因为他们没有脊椎

28 : 一只鲨鱼可以侦测到水中仅百万分之一含量的血液

29 : 其实, 河马跑得比人快

30 : 据说看完这篇文章的人都会试着放大缩小自己的鼻孔!

内部类

本文将详细的解释内部类 希望和大家交流. 简单的内部类定义形如这样:
class A{ class B{}} 这样的类被称为内部类,又被称为内隐类. 从简单到深入一步一步的分析内部类的特点。
class OuterClass{
static class A{//静态内部类
public A( ){
System.out.println("Test$A !");
}
}
class B{//非静态内部类
public B(){
System.out.println("Test$B !");
}
}
public void disp( )
{
final int a=10; int b;
class C //成员函数中的局部内部类
{ public C( )
{ System.out.println(“in class C a="+a);
//System.out.println(b);
}
}
C c=new C( );
}
}public class Test extends OuterClass
{
public static void main(String args[])
{ OuterClass.A a=new OuterClass.A(); //建立静态内部类对象

B b=new OuterClass( ).new B();

//建立非静态内部类的对象
//注意这个OuterClass().new B();相当于生成一个外部类的对象,然后在利用外部类对象生成内部类对象


OuterClass t=new OuterClass( );
t.disp( );
//通过外部对象调用一个对象方法的形式,新建立了对象C.
}
}

注意在上面的b在运行时会为0,因为是类属性.

class OuterClass
{
static class A { } //静态内部类
class B { } //非静态内部类
public void disp( )
{
class C{ } //局部内部类
}
}

编译后的将产生下面的一些类文件:

OuterClass.class
OuterClass$A.class
OutClass$B.class
OuterClass$1$C.class
记住以下几句话:

1,一个内部类的对象能够访问创建它的外部类对象的所有属性及方法(包括私有部分)。
//可以闭上眼镜,把这个内部类等同于一个类的一个方法,当然就可以访问这个外部类的
//所有方法和属性,私有方法和属性是属于外部类的,当然也就等同于内部类的.

2,对于同一个包中的其它类来说,内部类能够隐藏起来。(将内部类用private修饰即可)
//只有在内部类中,才能定义一个为private类型的class,因为这时编译器已经把这个类看作这个类的成员了,但是在一般使用时,就是所谓的”顶级类时”,不能使用private,只能是public 或者是friendly. 如果要是想保证一个类不产生任何的对象,请在构造函数中,把构造函数声明成private.
3, 内部类可定义在方法中,称为局部内部类,但它只能使用方法中的final常量。
// 定义在一个方法内的类,又被成为局部内部类,这个类只能使用在方法中的final常量,注意,这个常量是在一个方法中的,那么能否使用一个类中的常量呢?
当然是可以的,因为类中的常量在在一个方法中是可见的.
//
如果把一个类写在了一个if中,比如这样:
class A{
int a = 10;
if(a!=10){
class B{
B(){
System.out.println(a);
}
}
}
}
在编译后会有几个错误呢?
首先那个a没有被定义为final,你有一次上了圈套. 类B同样会被生成出来,只是离开了if域就失效了.
4,内部类可以被定义为抽象类
// abstract 类同样可以在内部类中
5, 非静态内部类不能声明本类的static成员
//只有一个静态的内部类,才可以声明一个static成员,
class A{
static class B{

//如果这里不是一个static类,是不可以被声明这个gg方法的.
static void gg(){
int a = 100;
System.out.println(a);
}
}
}

class aa{
public static void main(String args[]){

A.B hh = new A.B();
hh.gg();


}
}
使用内部类可以非常方便的编写事件驱动程序
这个在写事件驱动时,会有很好的解释.
匿名内部类
在某些情况下,我们只需要内部类的一个对象,那么我们就没有必要给内部类命名,没有名字的内部类我们称为匿名内部类
public class A extends Applet
{ public void init( )
{ addMouseListener( new B( ) );
}
class B extends MouseAdapter
{ public void mousePressed(MouseEvent me)
{ showStatus("Mouse Pressed."); }
}
}
用匿名内隐类修改:

import java.applet.*;
import java.awt.event.*;
import java.awt.*;
public class AnonymousInnerClassDemo extends Applet
{ public void init( )
{ addMouseListener( new MouseAdapter( )
{ public void mousePressed(MouseEvent me)
{ showStatus("Mouse Pressed"); } } );
}
}
下面是一个think in java里的例子
public class Pr{

public Concents cont(){
return new Concents(){

private int i= 11;
public int value (){return i;}
};//这里是有一个逗号
}
}
这个Contents是通过默认的构造函数产生的,匿名类的产生也就是一个新类向上转型到父类的过程.
那么如果一个父类没有一个默认的构造函数,应该什么办呢? 那就只有调用一个super()了.
class noname{

Warpping wrap(int x){

return new Warpping(x){

public int value(){

return super.value()*47;
}
};
}
public static void main(String s[]){

noname p = new noname();
Warpping w = p.wrap(10);
}
}

如果在匿名内部类中用到了外部对象 , 就必须保证这个外部对象是final的 。public class PP{

public DD dest(final String dest, final float price){

return new DD(){

private int cost;
{
cost = Math.round(price);
if(cost>100)
System.out.println("Over budget");
}
};
}
publc static void main(String []arg){

PP h = new PP();
DD d = h.dest("haha",11.111);

}
}

2008年7月14日星期一

seam-gen

Seam Gen是什么
Seam Gen(也叫seam)用来生成seam框剪使用的代码,seam.bat(Windows)和seam(Linux/Unix)使用Ant来生成Seam工程和源代码,使用Seam之前必须先安装Ant 1.6(或者更新版本)和支持EJB3的JBoss Application Server(推荐使用4.2.0GA之后的版本。)

seam.bat或者seam命令位于Seam框架的根目录下。

Seam 工程创建和开发命令
setup
使用示例: seam.bat setup
运行向导,设置seam-gen/build.properties文件中的属性,这个命令设置了项目的工作目录,JBoss目录等。另外这个命令也设置了一些其他的关于代码生成的属性,例如model,action和test使用的package,数据库连接等信息。
另外直接编辑seam-gen/build.properties可以达到相同的效果。

create-project
使用示例:seam.bat create-project
根据seam-gen/build.properties文件中的内容,创建工程,包括依赖的类库,ant build脚本,和两个配置文件(开发用和发布用),这个命令也会产生Eclipse和Netbeans所需要的工程文件。使用这个命令建立的工程可以被Eclipse或者Netbeans轻松的引入。

update-project
使用示例:seam.bat update-project
更新项目的类库。

delete-project
使用示例:seam.bat delete-project
删除项目目录,也从JBoss中取消部署,注意这个命令一旦被执行就没有办法回退。

deploy
使用示例:seam.bat deploy
将项目(打包的EAR或者WAR)和数据源部署到JBoss 服务器上。

undeploy
使用示例:seam.bat undeploy
将项目(打包的EAR或者WAR)和数据库从JBoss服务器上删除。

explode
使用示例:seam.bat explode
部署项目(以展开目录的形式,与打包的EAR和WAR对应)和数据源到JBoss服务器上。

restart
使用示例:seam.bat restart
重新启动已经部署的项目(以展开目录的形式)

unexplode
使用示例:seam.bat unexplode
与explode对应,删除服务器上部署的项目(以展开目录的形式)和数据源。

Seam 代码生成命令

new-action
使用示例:seam.bat new-action
创建一个新的java接口和SLSB(Stateless Session Beam),并且连带Seam和EJB3的标注(Annotation)

new-form
使用示例:seam.bat new-form
建立一个Java接口,和SFSB(Stateful Session Bean),并且连带Seam和EJB3的标注(Annotation)。并且建立XHTML的页面,和能够模拟JSF请求的TestNG的测试代码。

new-conversation
使用示例:seam.bat new-conversation
建立一个Java接口和SFSB,并且连带Seam和EJB3的标注(Annotation)。并且添加带有@Begin和@End的方法框架。
new-entity
使用示例:seam new-entity
建立一个带有Seam和EJB3标注的Entity Beam。
generate-entities
使用示例:seam.bat generate-entities
从已有的数据库Schema生成JPA兼容的Entity类。这个命令使用Hibernate的逆向工程工具生成JPA Entity类,Seam EntityHome和 EntityQuery,JavaBean,和Facelets试图(查看,查找,编辑)。

送别

长亭外,古道边,芳草碧连天。
晚风拂柳笛声残,夕阳山外山。
天之涯,地之角,知交半零落;
一觚浊酒尽余欢,今宵别梦寒.。

长亭外,古道边,芳草碧连天。
问君此去何时来,来时莫徘徊。
天之涯,地之角,知交半零落;
人生难得是欢聚,惟有别离多。

2008年7月9日星期三

观沧海

东临碣石,以观沧海。

水何澹澹,山岛竦峙。

树木丛生,百草丰茂。

秋风萧瑟,洪波涌起。

日月之行,若出其中;

星汉灿烂,若出其里。

幸甚至哉!歌以咏志。

龟虽寿

神龟虽寿,猷有竟时。
腾蛇乘雾,终为土灰。
老骥伏枥,志在千里;
烈士暮年,壮心不已。
盈缩之期,不但在天;
养怡之福,可得永年。
幸甚至哉!歌以咏志。
近来喜欢上了曹操的诗歌,是个什么兆头呢?

2008年7月8日星期二

SVN主要命令

<Location /svn>
DAV svn
SVNParentPath e:svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile passwd
AuthzSVNAccessFile svnaccessfile
Require valid-user
</Location>



svnadmin create --fs-type fsfs TestRepository


binhtpasswd -c passwd <username>


[groups]
developers = user1,user2,user3,user4
docs = user5,user6,user7
#to allow everyone read access
[/]
* = r
#allow all developers complete access
@developers = rw
#give the doc people write access to the docs folder
[/project/trunk/doc]
@docs = rw

2008年3月25日星期二

Seam学习笔记---Seam的组件

Seam组件

无状态Session Bean


无状态Session Bean组件无法在多次调用之间保持状态。因此,它们通常在不同的Seam上下文中,操作其他组件的状态。他们可以作为JSF的action listener,但是不能为JSF组件的显示提供属性。

无状态Session Bean总是生活在无状态上下文中。

无状态Session Bean是Seam组件中最没趣的了。

Seam无状态Session Bean组件可以使用 Component.getInstance() 或者 @In(create=true) 实例化。它们不能直接使用JNDI或者 new 操作实例化。

有状态Session Bean


有状态Session Bean不仅可以在bean的多次调用之间保持状态,而且在多次请求之间也可以保持状态。 不由数据库保存的状态通常应该由有状态Session Bean保持。这是Seam和其他web框架之间的一个显著的不同点。 其他框架把当前会话的信息直接保存在 HttpSession 中,而在Seam中你应该把它们保存在有状态Session Bean的实例中,该实例被绑定到会话上下文。这可以让Seam来替你管理状态的声明周期,并且保证在多个不同的并发会话中没有状态冲突。

有状态Session Bean经常被作为JSF action listener使用,也可以作为JSF显示或者form提交的后台bean,提供属性供组件访问。

默认情况下,有状态Session Bean会被绑定到Conversation Context。它们绝不会绑定到page或stateless context。

对Session范围的有状态Session Bean的并发请求,会被Seam按顺序串行处理。

Seam有状态Session Bean组件可以使用 Component.getInstance() 或者 @In(create=true) 实例化。它们不能直接使用JNDI或者 new 操作实例化。

实体Bean


实体Bean可以被绑定到上下文变量,起到Seam组件的作用。因为Entity除了上下文标识之外,还有持久标识,Entity实体通常明确的由Java Code绑定,而非由Seam隐性初始化。

Entity Bean实体不支持双向注入或者上下文分界。对Entity Bean的调用也不会触发验证。

Entity Bean通常不作为JSF的action listener使用,但经常作为JSF组件用于显示或者form提交的后台bean,提供属性功能。 特别是,当Entity作为后台Bean的时候,它会和一个无状态Session Bean扮演的action listener联用,来实现CRUD之类的功能。

默认情况下,Entity Bean被绑定到Conversation Context。他们永远不能被绑定到无状态Context。

注意,在集群环境中,把Entity Bean直接绑定到Conversation或者Session范围的Seam上下文变量,与在有状态Session Bean中保持一个对Entity Bean的引用相比,性能比较差。因此,并非所有的Seam应用程序都会把Entity Bean定义为Seam组件。

Seam实体Bean组建可以使用 Component.getInstance()、@In(create=true) 或者直接使用 new 操作来实例化。

组件名字


所有Seam组件都需要名字。我们可以通过 @Name 注解来命名组件:

@Name("loginAction") @Stateless public class LoginAction implements Login {     ... }

这个名字是 seam component name,和EJB规范定义的任何其他名字都没有关系。 但是,Seam组件名字就作为JSF管理的Bean Name使用,因此,可以理解为这两个概念是等同的。

@Name 不是定义组件名称的唯一方式,但是我们总得要在 某个地方 来指定名字。 否则,Seam 注解的其他部分就无法工作。

就如同在JSF中,Seam组件实例绑定成上下文变量时,其名字通常和组件名相同。 因此,例如我们可以通过 Contexts.getStatelessContext().get("loginAction") 来访问 LoginAction。 特别是,不管Seam自己何时初始化一个组件,它将这个新实例以组件的名字绑定成一个变量。 但是,又和JSF一样,应用程序也可以把组件绑定成其他的上下文变量,只需通过API编程调用。 例如,当前登录的用户(User)可以被绑定成为Session上下文中的 currentUser 变量,而同时,另一个用作某种管理功能的用户则被绑定成对话上下文的 user 变量。

对非常大型的应用程序,经常使用全限定名;内置的Seam组件就是这样。

@Name("com.jboss.myapp.loginAction") @Stateless @Interceptors(SeamInterceptor.class) public class LoginAction implements Login {     ... }

我们可以在Java代码和JSF表达式语言中使用全限定的组件名称。

<h:commandButton type="submit" value="Login"                  action="#{com.jboss.myapp.loginAction.login}"/>

这很啰嗦,Seam也提供了把全限定名简写的办法。在 components.xml 文件中加入类似这样的一行:

<factory name="loginAction" scope="STATELESS" value="#{com.jboss.myapp.loginAction}"/>

所有的Seam内置组件都有全限定名,但大多数都在Seam jar文件的 components.xml 中简写为简单的名字。

Seam学习笔记---Seam的上下文

基本的Seam上下文

基本的Seam上下文有:

  • Stateless context

  • Event (or request) context

  • Page context

  • Conversation context

  • Session context

  • Business process context

  • Application context

Stateless context(无状态上下文)


那些确实没有状态的组件(主要是无状态Session Bean)总是运行在无状态上下文中(实际上就是上下文无关)。 无状态组件没什么太大的意思,也有争议认为它们不十分面向对象。但不管怎么样,它们还是很重要,并且通常很有用。

Event context(事件上下文)


事件上下文是“最窄”的有状态上下文,是Web Request 上下文的泛化,用以包含其他种类的事件。 然而,与JSF请求的生命周期相关联的事件上下文是事件上下文最重要的实例,并且也是你最常打交道的。 与事件上下文相关联的组件在请求结束时被销毁,但是它们的状态至少在请求的生命周期中是存在并且是定义良好的。

Page context(页面上下文)


页面上下文允许你将状态与一个渲染页面的实例相关联。 你可以在Event Listener中初始化状态,或者在实际渲染页面的时候初始化状态,任何源于该页面的事件都可以访问到这些状态。 这在支持像可点击列表这种的功能时特别有用,列表的内容通过服务器端的数据变化产生。 实际上状态被序列化到了客户端,因此在多窗口操作或者回退按钮的时候,这种结构是非常健壮的。

Conversation context(业务会话上下文)

业务会话上下文是Seam中最核心的概念。conversation(业务会话)是从用户的视角看待的一个工作单元。 它可能跨越与用户交互的多个Servlet、多个请求,和多个数据库事务。但是对用户来说,一个业务会话解决一个单一的问题。 例如说:“预订酒店”,“批准合同”,“创建订单”都是业务会话。 你可以将业务会话理解成对一个“use case(用例)”或“user story(用户故事)”的实现,但这种联系并非是必须的。

业务会话保存关于“在此窗口中,用户正在干什么”的状态。在任何时间,一个用户可能同时位于多个业务会话活动中,一般是在几个不同窗口中。 业务会话上下文让我们可以确保不同业务会话的状态不会互相干扰,不会导致Bug。

你可能要花上一点时间才能习惯以这一业务会话的观点来思考你的应用程序。 但一旦你习惯于它,你会喜欢上这个术语,并且再不会不用业务会话来思考了!

一些业务会话仅存在在一次请求中。跨域多个请求的业务会话必须通过Seam提供的annotation注解来划分。

一些业务会话同时也是tasks(任务)。任务是一种业务会话,它特指一个长时间运行的业务过程,当正确完成后,可能会触发一个业务流程状态的转换。Seam为任务划分提供了专门的annocation注解。

业务对话可以是nested(嵌套)的,一个业务对话嵌套“在”一个更大的业务对话中。这是一项高级特性。

通常,业务对话状态实际上由Seam保存在Servlet Session 中,跨越请求。Seam实现了可配置的 conversation timeout,可以自动销毁不活动的业务会话,这就可以确保,如果用户取消对话,用户的登录Session中保存的状态不会无限增长。

对于在一个长时间运行的业务会话中所产生的并发请求,Seam按顺序执行。

除此之外,Seam也可以配置成把对话状态保存在客户端浏览器中。

Session context(Session上下文)


Session上下文保存与用户登录session相关联的状态。虽然当需要在多个业务会话中交换状态的时候这很有用,但我们一般不建议使用Session 上下文保存组件,除非是保存有关登录用户的全局信息。

在JSR-168 Portal环境下,Session上下文代表Portlet上下文。

Business process context (业务流程上下文)


业务流程上下文保存了长时间运行的业务流程相关的状态。这种状态由BPM引擎(jBPM)管理和持久化。 业务流程跨越多个用户的交互,因此状态在多个用户之间通过良好定义的方式共享。 当前的任务决定当前的业务流程实例,业务流程的生命周期通过外置的 process definition language(流程定义语言) 来定义,因此没有特别的annotation注解用于划分业务流程。

Application context(应用上下文)


Application上下文就是Servlet规范中的Servlet上下文。应用程序上下文在保存静态信息方面有用,例如配置数据,引用数据或者元模型。 例如,Seam把自己的配置和元模型保存在应用程序上下文中。

Context variables(上下文变量)


上下文定义了命名空间,一组 context variables(上下文变量)。 这些工作很类似Servlet规范中对Session或Request attributes的定义。 你可以绑定任何你喜欢的值到Context Variable,但通常我们会绑定Seam组件实例到Context Variables。

因此,在上下文中,组件实例是通过上下文变量名字来辨别的(通常是这样,但并非绝对,就和组件名称一样)。 你可以通过程序在特定范围内访问被命名的组件实例,这是通过 Contexts 类进行的,它提供了对 Context 接口的几个线程绑定的实例的访问:

User user = (User) Contexts.getSessionContext().get("user");

你也可以通过名字来设置或修改变量值:

Contexts.getSessionContext().set("user", user);

但通常,我们通过注射(injection)来从上下文中获得组件,并且通过反向注射(outjection)把组件实例返回上下文。

2008年3月21日星期五

有意思(答案见中缝)

据说能答对5道题的人是天才,答对4道的是帅才,答对3道的是将才,答对2道的是奇才,答对1道的是人才,1道都想不出来的是X才

1、一个数字,去掉前面一个数字后,是13。去掉最后一个数字后,是40。这个数字是什么?

2、这一等式很奇怪,0比2大,2比5大,5比0大。为什么?

3、只字加一笔,会是什么字?

4、人加一笔,除了大/个,还有什么字?

5、桌子上有2、1、6三张卡片,请问摆成一个什么数字可以让43整除?
四十三,剪刀石头布,冲,及,129

2008年3月20日星期四

免得老是忘记-toString

为了方便Log4J等方式的调试,显示一个类的实例,通常需要做如下方式的输出:
log.trace(myClassInstance);
此时需要MyClass实现重载 toString()方法,利用Jakarta Common Lang可以很容易实现toString方法,由ToStringBuilder类完成对一个类的细节的显示,参考toString方法的实现如下:

import org.apache.commons.lang.builder.ToStringBuilder;

public String toString() { return ToStringBuilder.reflectionToString(this); }relectionToString()

将利用Java Refelection机制显示类实例的所有属性的信息.

2008年3月17日星期一

看什么呢?老婆

2008年3月12日星期三

Cognos入门指南

2008-01-08至2008-03-12的工作成果

2008年3月10日星期一

Cognos报表展示的参数传递

如何调用已发布到Enterprise server的ppx报表(参数传递)

Cognos的内容一般作为网页中某一特定的帧来展现。我们可以在外部统一的用户交互界面中收集用户递交的查询条件(一般用JSP实现),在检查完用户输入的有效性之后,把这些参数按照Cognos约定的标准,以POST的方式传到某一帧中的Cognos的网管。Cognos网管就会把用户查询的结果返回到该帧中。

下面是一个接口调用的实例:
假设服务器名称为:servername
ppx报表发布到enterprise server之后在enterprise server的根目录下,名称为:testreport
如果我们要对这个报表进行访问,可通过如下url对报表进行调用:http://test/cognos/ cgi-bin/ppdscgi.exe?DC=R&E=%2Ftestreport
如果用户要求访问的是一个可动态分析的cube,那么相应的url为
http://test/cognos/ cgi-bin/ppdscgi.exe?DC=Q&E=%2Fcubename

其中:%2F是一个URL使用的转意符,它的原型是符号“\”。

如果报表或Cube是发布于一个文件夹test中的,那么相应的url为:

http://test/cognos/ cgi-bin/ppdscgi.exe?DC=R&E=%2Ftest%2Ftestreport



通过以上的接口可以访问到任意发布到Powerplay Enterprise Server的报表或Cube。如果要向报表或Cube传递过滤条件,可采用下面的调用标准。

例如在Enterprise Server发布有报表ICBC,该报表开放了四个传参接口(Years,Products,Locations,Channles)。用户可以选择向其中的某几个接口传参。

如果选择“Products”为“Outdoor Products”则调用

http://test/cognos/cgi-bin/ppdscgi.exe?DC=R&E=%2Ficbc&DM=Products&FC=0%09Outdoor%20Products&ZZ=X

其中&DM=Products //表示要过滤维度Products

&FC=0%09Outdoor%20Products //表示维度Products的过滤值



如果是过滤两个维度,例如过滤“Products”和“Locations”则调用

http://info/cognos/cgi-bin/ppdscgi.exe?DC=R&E=%2Ficbc&DM=Products%09Locations&FC=0%09Outdoor%20Products%091%09Europe&ZZ=X

其中&DM=Products%09Locations //维度间用%09分开

&FC=0%09Outdoor%20Products%091%09Europe //维度值从0开始标号



如果是过滤三个维度,例如过滤“Products”和“Locations”及“Channels”则调用

http://info/cognos/cgi-bin/ppdscgi.exe?DC=R&E=%2Ficbc2&DM=Products%09Locations%09Channels&FC=0%09Environmental%20Line%091%09Europe%092%09Independent&ZZ=X

其中&DM=Products%09Locations%09Channels //维度间用%09分开

&FC=0%09Outdoor%20Products%091%09Europe%092%09Independent

//维度值从0开始标号



在每条Url后添加&ZZ=X,表示参数传递结束。



注意:维度过滤值必须用该维度节点的code

2008年3月7日星期五

真假猴王

  千年以前
  你匍匐地下
  明知生死未来痛苦欢乐
  但
  你无须说破
  生命历程里的漫漫长路
  说与不说
  对任何人
  都是轮回的花开花落
  
  千年以前
  你伏在地下
  明知是非真假
  但
  你不能说破
  那两个惊天动地的神猴
  说出来
  对天对地
  都是难躲的祸
  
  千年以后
  你伏在我心中
  明知爱与不爱
  但
  你无法说破
  那深深寂寞里的烟花
  说出来
  对你对我
  都是遗憾三生的错

2008年3月5日星期三

Operational Data Storage

ODS是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需 求。常常被作为数据仓库的过渡,也是数据仓库项目的可选项之一。

根据Bill.Inmon的定义,“数据仓库是面向主题的、集成的、稳定的、随时间变化的,主要用于决策支持的数据库系统”

ODS是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需 求。常常被作为数据仓库的过渡,也是数据仓库项目的可选项之一。

在Kimball的<<数据仓库生命周期工具集The Data WareHouse Liftcycle Toolkit>>,他是这样定义的

1. 是操作型系统中的集成,用于当前,历史以及其它细节查询(业务系统的一部分)

2. 为决策支持提供当前细节数据(数据仓库的一部分)

因此操作数据存储(ODS) 是用于支持企业日常的全局应用的数据集合,ODS的数据具有面向主题、集成的、可变的和数据是当前的或是接近当前的4个基本特征。同样也可以看出ODS是介于DB和DW 之间的一种数据存储技术,和原来面向应用的分散的DB相比,ODS中的数据组织方式和数据仓库(DW)一样也是面向主题的和集成的,所以对进入ODS的数 据也象进入数据仓库的数据一样进行集成处理。另外ODS只是存放当前或接近当前的数据,如果需要的话还可以对ODS中的数据进行增、删和更新等操 作,虽然DW中的数据也是面向主题和集成的,但这些数据一般不进行修改,所以ODS和DW的区别主要体现数据的可变性、当前性、稳定性、汇总度上。

由于ODS仍然存储在普通的关系数据库中,出于性能、存储和备份恢复等数据库的角度以及对源数据库的性能影响角度,个人不建议ODS保存相当长周期的数据,同样ODS中的数据也尽量不做转换,而是原封不动地与业务数据库保持一致。即ODS只是业务数据库的一个备份或者映像,目的是为了使数据仓库的处理和决策支持要求与OLTP系统相隔离,减少决策支持要求对OLTP系统的影响。

为什么需要有一个ODS系统呢?一般在带有ODS的系统体系结构中,ODS都具备如下几个作用:

1) 在业务系统和数据仓库之间形成一个隔离层。

一 般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置、不同的数据库、不同的应用之中,从这些业务系统对数据进行抽取并不是一件 容易的事。因此,ODS用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致,因此在抽取过程中极 大降低了数据转化的复杂性,而主要关注数据抽取的接口、数据量大小、抽取方式等方面的问题。

2) 转移一部分业务系统细节查询的功能

在 数据仓库建立之前,大量的报表、分析是由业务系统直接支持的,在一些比较复杂的报表生成过程中,对业务系统的运行产生相当大的压力。ODS的数据从粒度、 组织方式等各个方面都保持了与业务系统的一致,那么原来由业务系统产生的报表、细节数据的查询自然能够从ODS中进行,从而降低业务系统的查询压力。

3) 完成数据仓库中不能完成的一些功能。

一 般来说,带有ODS的数据仓库体系结构中,DW层所存储的数据都是进行汇总过的数据和运营指标,并不存储每笔交易产生的细节数据,但是在某些特殊的应用中,可能需要 对交易细节数据进行查询,这时就需要把细节数据查询的功能转移到ODS来完成,而且ODS的数据模型按照面向主题的方式进行存储,可以方便地支持多维分析 等查询功能。即数据仓库从宏观角度满足企业的决策支持要求,而ODS层则从微观角度反映细节交易数据或者低粒度的数据查询要求。

在一个没有ODS层的数据仓库应用系统体系结构中,数据仓库中存储的数据粒度是根据需要而确定的,但一般来说,最为细节的业务数据也是需要保留的,实际上 也就相当于ODS,但与ODS所不同的是,这时的细节数据不是“当前、不断变化的”数据,而是“历史的,不再变化的”数据。这样的数据仓库的存储压力和性能压力都是比较大的,因此对数据仓库的物理设计和逻辑设计提出了更高的要求。

房价上涨的原因

以前,有个地主有很多地,找了很多长工干活,地主给长工们盖了一批团结楼住着,一天,地主的谋士对地主说:东家,长工们这几年手上有点钱了,他们住你的房子,每月交租子,不划算,反正他们永远住下去,你干脆把房子卖给他们起个名堂叫做-----公房出售!告诉他们房子永远归他们了,可以把他们这几年攒的钱收回来,地主说:不错,那租金怎么办?谋士说:照收不误,起个日本名儿,叫物业费!地主很快实行了,赚了好多钱,长工们那个高兴啊!
  过了几年,地主的村子发展成城镇了,有钱人越来越多,没地方住,谋士对地主说:东家,长工们这几年手上又有钱了,咱们给他们盖新房子,起个名堂叫做旧城改造,他们把手上的钱给我们,我们拆了房子盖新的,叫他们再买回去,可以多盖一些卖给别人,地主又实行了,这次,有些长工们不高兴了,地主的家丁派上用途了,长工们打掉牙只好往肚子里咽,地主又赚了好多钱。
  又过了几年,地主的村子发展成大城市了,有钱人更多了,地主的土地更值钱了,谋士对地主说:东家,咱们把这些长工的房子拆了,在这个地方建别墅,拆出来的地盖好房子卖给那些有钱的大款还能赚一笔,地主说:长工们不干怎么办?谋士说:咱给他们钱多点儿,起个名堂叫货币化安置,咱再到咱们的猪圈旁边建房子,起个名堂叫经济适用房,给他们修个马车道让他们到那边买房住,地主说:他们钱不够怎么办?谋士说:从咱家的钱庄借前给他们,一年6分利,咱这钱还能生钱崽,又没风险,地主又实行了,长工们拿到钱,地主的经济适用房到现在才建了一间,长工们只好排队等房子,直到现在,还等着呢——
  于是,长工们开始闹事了,地主有点慌,忙问谋士怎么办?谋士说:赶紧通知长工们,房子要跌价了,别买了,租房住吧,正好把我们的猪圈租给他们,结果,这么多年后,长工们的钱全没了,还在租房住,直到永远 。

2008年3月4日星期二

鱼我所欲也

鱼,我所欲也,熊掌,亦我所欲也,二者不可得兼,舍鱼而取熊掌者也。生,亦我所欲也,义,亦我所欲也,二者不可得兼,舍生而取义者也。生亦我所欲,所欲有甚于生者,故不为苟得也。死亦我所恶,所恶有甚于死者,故患有所不避也。如使人之所欲莫甚于生,则凡可以得生者何不用也?使人之所恶莫甚于死者,则凡可以避患者何不为也?由是则生而有不用也;由是则可以避患而有不为也。是故所欲有甚于生者,所恶有甚于死者。非独贤者有是心也,人皆有之,贤者能勿丧耳。

一箪食,一豆羹,得之则生,弗得则死。呼尔而与之,行道之人弗受;蹴尔而与之,乞人不屑也。

万钟则不辨礼义而受之,万钟于我何加焉!为宫室之美,妻妾之奉,所识穷乏者得我欤?向为身死而不受,今为宫室之美为之;向为身死而不受,今为妻妾之奉为之;向为身死而不受,今为所识穷乏者得我而为之:是亦不可以已乎?此之谓失其本心。

2008年2月28日星期四

龙生九子,各有不同

  龙生九子之一·囚牛

  囚牛,是龙生九子中的老大,平生爱好音乐,它常常蹲在琴头上欣赏弹拨弦拉的音乐,因此琴头上便刻上它的遗像。这个装饰现在一直沿用下来,一些贵重的胡琴头部至今仍刻有龙头的形象,称其为“龙头胡琴”。

  龙生九子之二·睚眦

  睚眦,是老二,平生好斗喜杀,刀环、刀柄、龙吞口便是它的遗像。这些武器装饰了龙的形象后,更增添了慑人的力量。它不仅装饰在沙场名将的兵器上,更大量地用在仪仗和宫殿守卫者武器上,从而更显得威严庄重。

  龙生九子之三·嘲风

  嘲风,形似兽,是老三,平生好险又好望,殿台角上的走兽是它的遗像。这些走兽排列着单行队,挺立在垂脊的前端,走兽的领头是一位骑禽的“仙人”,后面依次为:龙、凤、狮子、天马、海马、狻猊、押鱼、獬豸、斗牛、和行什。它们的安放有严格的等级制度,只有北京故宫的太和殿才能十样俱全,次要的殿堂则要相应减少。嘲风,不仅象征着吉祥、美观和威严,而且还具有威慑妖魔、清除灾祸的含义。嘲风的安置,使整个宫殿的造型既规格严整又富于变化,达到庄重与生动的和谐,宏伟与精巧的统一,它使高耸的殿堂平添一层神秘气氛。

  龙生九子之四·蒲牢

  蒲牢,形似盘曲的龙,排行第四,平生好鸣好吼,洪钟上的龙形兽钮是它的遗像。原来蒲牢居住在海边,虽为龙子,却一向害怕庞然大物的鲸鱼。当鲸鱼一发起攻击,它就吓得大声吼叫。人们根据其“性好鸣”的特点,“凡钟欲令声大音”,即把蒲牢铸为钟纽,而把敲钟的木杵作成鲸鱼形状。敲钟时,让鲸鱼一下又一下撞击蒲牢,使之“响入云霄”且“专声独远”。

  龙生九子之五·狻猊

  狻猊,形似狮子,排行第五,平生喜静不喜动,好坐,又喜欢烟火,因此佛座上和香炉上的脚部装饰就是它的遗像。相传这种佛座上装饰的狻猊是随着佛教在汉代由印度人传入中国的,至南北朝时期,我国的佛教艺术上已普遍使用,这种造型经过我国民间艺人的创造,使其具有中国的传统气派,后来成了龙子的老五,它布置的地方多是在结跏趺坐或交脚而坐的佛菩萨像前。明清之际的石狮或铜狮颈下项圈中间的龙形装饰物也是狻猊的形象,它使守卫大门的中国传统门狮更为睁崃威武。

  龙生九子之六·霸下

  霸下,又名赑屃,形似龟,是老六,平生好负重,力大无穷,碑座下的龟趺是其遗像。传说霸下上古时代常驮着三山五岳,在江河湖海里兴风作浪。后来大禹治水时收服了它,它服从大禹的指挥,推山挖沟,疏遍河道,为治水作出了贡献。洪水治服了,大禹担心霸下又到处撒野,便搬来顶天立地的特大石碑,上面刻上霸下治水的功迹,叫霸下驮着,沉重的石碑压得它不能随便行走。霸下和龟十分相似,但细看却有差异,霸下有一排牙齿,而龟类却没有,霸下和龟类在背甲上甲片的数目和形状也有差异。霸下又称石龟,是长寿和吉祥的象征。它总是吃力地向前昂着头,四只脚拼命地撑着,挣扎着向前走,但总是移不开步。我国一些显赫石碑的基座都由霸下驮着,在碑林和一些古迹胜地中都可以看到。

  龙生九子之七·狴犴

  狴犴,又名宪章,形似虎,是老七。它平生好讼,却又有威力,狱门上部那虎头形的装饰便是其遗像。传说狴犴不仅急公好义,仗义执言,而且能明辨是非,秉公而断,再加上它的形象威风凛凛,囚此除装饰在狱门上外,还匐伏在官衙的大堂两侧。每当衙门长官坐堂,行政长官衔牌和肃静回避牌的上端,便有它的形象,它虎视眈眈,环视察看,维护公堂的肃穆正气。

  龙生九子之八·负屃

  负屃,似龙形,排行老八,平生好文,石碑两旁的文龙是其遗像。我国碑碣的历史久远,内容丰富,它们有的造型古朴,碑体细滑、明亮,光可鉴人;有的刻制精致,字字有姿,笔笔生动;也有的是名家诗文石刻,脍炙人口,千古称绝。而负屃十分爱好这种闪耀着艺术光彩的碑文,它甘愿化做图案文龙去衬托这些传世的文学珍品,把碑座装饰得更为典雅秀美。它们互相盘绕着,看去似在慢慢蠕动,和底座的霸下相配在一起,更觉壮观。

  龙生九子之九·螭吻

  螭吻,又名鸱尾,鱼形的龙。相传是大约在南北朝时,由印度‘摩竭鱼’随佛教传入的。它是佛经中,雨神座下之物,能够灭火。故此,螭吻由此变化出来,所以它多安在屋脊两头,作消灾灭火的功效。,龙形的吞脊兽,是老九,口阔噪粗,平生好吞,殿脊两端的卷尾龙头是其遗像。《太平御览》有如下记述:“唐会要目,汉相梁殿灾后,越巫言,‘海中有鱼虬,尾似鸱,激浪即降雨’遂作其像于尾,以厌火祥。”文中所说的“巫”是方士之流,“鱼虬”则是螭吻的前身。螭吻属水性,用它作镇邪之物以避火

Cognos小技巧1

1,机构中数据分级控制,
case
left (#"'"+$account.personalInfo.businessPhone+"'"# ,1)
when '0' then [ocrm_person].[RPTORGDIMEN].[CENTRE]
when '1' then [ocrm_person].[RPTORGDIMEN].[PROVINCE]
when '2' then [ocrm_person].[RPTORGDIMEN].[CITY]
when '3' then [ocrm_person].[RPTORGDIMEN].[BRANCHCODE]
when '4' then [ocrm_person].[RPTORGDIMEN].[NODE]
else #"'"+$account.personalInfo.email+"'"#
end = #"'"+$account.personalInfo.email+"'"#

2,Cognos外部链接登录格式
http://192.168.5.83:9300/p2pd/servlet/dispatch?CAMNamespace=default&CAMUsername=administrator&CAMPassword=123456

2008年1月25日星期五

袁天罡称骨

据说这是袁天罡道长研究出来的,是流传比较广的一种算命方法。现在将具体的算法贴出来,大家可以自己算算。首先说一句,任何算法都不可能是100%正确的,而且即便100%正确,也是可以因为个人的行为(比方说积德行善或者作恶多端)而改变的,历史上也很多这样的例子,总之,提醒各位千万不要太执著于此!!!如果因此给谁的心情蒙上阴影,偶会深感不安的。袁天罡称骨算法:根据个人八字(即出生年月日和时辰),分别在后面所附内容中查出出生年的重量、出生月的重量、出生日的重量以及出生时辰的重量,将四个重量相加所得即为八字重量。根据八字重量去查相关的批注诗。
一般说来,八字重的比较不容易振的住,也就是说不容易被邪物侵扰,当然玩招魂招仙的游戏也不容易成功。显然不是绝对的八字越重越好,轻的也有比较好的,但从一般意义上说,八字重的普遍比轻的得到的批示要好,所谓一般意义也就是说这里的好在有的人眼中可能未必是好。举个例子吧:1971年正月初一子时出生的人可以查到年的重量为1两7钱,月的重量为6钱,日的重量为5钱,时辰的重量为1两6钱,将之相加: 1两7+6钱+5钱+1两6=1.7+0.6+0.5+1.6=4.4=4两4钱。然后查4两4钱的批注诗: 4两4:来事由天莫苦求,须知福禄胜前途,当年财帛难如意,晚景欣然便不忧出生年的重量:出生年的重量是以六十年为周期的(也就是说相差六十年的年份重量相同)
这是年的 1941:6钱 1942:8钱 1943:7钱 1944:5钱 1945:1两5 1946:6钱 1947:1两6 1948:1两5 1949:7两 1950:9钱| 1951:1两2 1952:1两 1953:7钱 1954:1两5 1955:6钱 1956:5钱 1957:1两4 1958:1两4 1959:9钱 1960:7钱 1961:7钱 1962:9钱 1963:1两2 1964:8钱 1965:7钱 1966:1两3 1967:5钱 1968:1两4 1969:5钱 1970:9钱 1971:1两7 1972:5钱 1973:7钱 1974:1两2 1975:8钱 1976:8钱 1977:6钱 1978:1两9 1979:6钱 1980:8钱 1981:1两6 1982:1两 1983:7钱 1984:1两2 1985:9钱 1986:6钱 1987:7钱 1988:1两2 1989:5钱 1990:9钱 1991:8钱 1992:7钱 1993:8钱 1994:1两5 1995:9钱 1996:1两6 1997:8钱 1998:8钱 1999:1两9 2000:1两2

月的重量:一月:6钱 二月:7钱 三月:1两8 四月:9钱五月:5钱 六月:1两6 七月:9钱 八月:1两5 九月:1两8 十月:8钱 十一月:9钱 十二月:5钱

出生日的重量:初一:五钱 初二:一两 初三:八钱 初四:一两五初五:一两六 初六:一两五 初七:八钱 初八:一两六初九:八钱 初十:一两六十一:九钱 十二:一两七十三:八钱 十四:一两七 十五:一两 十六:八钱十七:九钱 十八:一两八 十九:五钱 二十:一两五廿一:一两廿二:九钱 廿三:八钱 廿四:九钱廿五:一两五 廿六:一两八 廿七:七钱 廿八:八钱廿九:一两六 三十:六钱
时辰: 子时:一两六丑时:六钱寅时:七钱 卯时:一两辰时:九钱 巳时:一两六午时:一两 未时:八钱申时:八钱 酉时:九钱戌时:六钱亥时:六钱时辰表:子时:23:00--1:00 丑时: 1:00--3:00 寅时: 3:00--5:00 卯时: 5:00--7:00 辰时: 7:00--9:00 已时: 9:00--11:00 午时:11:00--13:00 未时:13:00--15:00 申时:15:00--17:00 酉时:17:00--19:00 戌时:19:00--21:00 亥时:21:00--23:00

批注诗 [replyview]2两1:短命非业谓大凶,平生灾难事重重,凶祸频临限逆境,终世困苦事不成 2两2:身寒骨冷苦伶仃,此命推来行乞人,劳劳碌碌无度日,中年打拱过平生 2两3:此命推来骨轻轻,求谋做事事难成,妻儿兄弟应难许,别处他乡作散人 2两4:此命推来福禄无,门庭困苦总难荣,六亲骨肉皆无靠,流到他乡作老人 2两5:此命推来祖业微,门庭营度似希奇,六亲骨肉如水炭,一世勤劳自把持 2两6:平生一路苦中求,独自营谋事不休,离祖出门宜早计,晚来衣禄自无忧 2两7:一生做事少商量,难靠祖宗作主张,独马单枪空作去,早年晚岁总无长 2两8:一生作事似飘蓬,祖宗产业在梦中,若不过房并改姓,也当移徒二三通 2两9:初年运限未曾亨,纵有功名在后成,须过四旬方可上,移居改姓使为良 3两:劳劳碌碌苦中求,东走西奔何日休,若能终身勤与俭,老来稍可免忧愁 3两1:忙忙碌碌苦中求,何日云开见日头,难得祖基家可立,中年衣食渐无忧 3两2:初年运错事难谋,渐有财源如水流,到的中年衣食旺,那时名利一齐来 3两3:早年做事事难成,百计徒劳枉费心,半世自如流水去,后来运到始得金 3两4:此命福气果如何,僧道门中衣禄多,离祖出家方得妙,终朝拜佛念弥陀 3两5:生平福量不周全,祖业根基觉少传,营事生涯宜守旧,时来衣食胜从前 3两6:不须劳碌过平生,独自成家福不轻,早有福星常照命,任君行去百般成 3两7:此命般般事不成,弟兄少力自孤成,虽然祖业须微有,来的明时去的暗 3两8:一生骨肉最清高,早入学门姓名标,待看年将三十六,蓝衣脱去换红袍 3两9:此命少年运不通,劳劳做事尽皆空,苦心竭力成家计,到得那时在梦中 4两:平生衣禄是绵长,件件心中自主张,前面风霜都受过,从来必定享安泰 4两1:此命推来事不同,为人能干异凡庸,中年还有逍遥福,不比前年云未通 4两2:得宽怀处且宽怀,何用双眉总不开,若使中年命运济,那时名利一齐来 4两3:为人心性最聪明,做事轩昂近贵人,衣禄一生天数定,不须劳碌是丰亨 4两4:来事由天莫苦求,须知福禄胜前途,当年财帛难如意,晚景欣然便不忧 4两5:福中取贵格求真,明敏才华志自伸,福禄寿全家道吉,桂兰毓秀晚荣臻 4两6:东西南北尽皆通,出姓移名更觉隆,衣禄无亏天数定,中年晚景一般同 4两7:此命推来旺末年,妻荣子贵自怡然,平生原有滔滔福,可有财源如水流 4两8:幼年运道未曾享,苦是蹉跎再不兴,兄弟六亲皆无靠,一身事业晚年成 4两9:此命推来福不轻,自立自成显门庭,从来富贵人亲近,使婢差奴过一生 5两:为利为名终日劳,中年福禄也多遭,老来是有财星照,不比前番目下高 5两1:一世荣华事事通,不须劳碌自亨通,兄弟叔侄皆如意,家业成时福禄宏 5两2:一世亨通事事能,不须劳思自然能,宗施欣然心皆好,家业丰亨自称心 5两3:此格推来气象真,兴家发达在其中,一生福禄安排定,却是人间一富翁 5两4:此命推来厚且清,诗书满腹看功成,丰衣足食自然稳,正是人间有福人 5两5:走马扬鞭争名利,少年做事废筹论,一朝福禄源源至,富贵荣华显六亲 5两6:此格推来礼仪通,一生福禄用无穷,甜酸苦辣皆尝过,财源滚滚稳且丰 5两7:福禄盈盈万事全,一生荣耀显双亲,名扬威震人钦敬,处世逍遥似遇春 5两8:平生福禄自然来,名利兼全福禄偕,雁塔提名为贵客,紫袍金带走金鞋 5两9:细推此格妙且清,必定才高礼仪通,甲第之中应有分,扬鞭走马显威荣 6两:一朝金榜快提名,显祖荣宗立大功,衣食定然原欲足,田园财帛更丰盈 6两1:不做朝中金榜客,定为世上一财翁,聪明天赋经书熟,名显高克自是荣 6两2:此名生来福不穷,读书必定显亲荣,紫衣金带为卿相,富贵荣华皆可同 6两3:命主为官福禄长,得来富贵定非常,名题金塔传金榜,定中高科天下扬 6两4:此格权威不可当,紫袍金带坐高堂,荣华富贵谁能及,积玉堆金满储仓 6两5:细推此命福不轻,安国安邦极品人,文绣雕梁政富贵,威声照耀四方闻 6两6:此格人间一福人,堆金积玉满堂春,从来富贵由天定,正笏垂绅谒圣君 6两7:此名生来福自宏,田园家业最高隆,平生衣禄丰盈足,一世荣华万事通 6两8:富贵由天莫苦求,万金家计不须谋,十年不比前番事,祖业根基水上舟 6两9:君是人间衣禄星,一生福贵众人钦,纵然福禄由天定,安享荣华过一生 7两: 此命推来福不轻,不须愁虑苦劳心,一生天定衣与禄,富贵荣华过一生 7两1:此名生来大不同,公侯卿相在其中,一生自有逍遥福,富贵荣华极品隆 7两2:此格世界罕有

2008年1月22日星期二

Cognos权限管理注意的地方

Cognos权限管理注意的地方

Everyone
This group represents all authenticated users and the Anonymous user account. The membership of this group is maintained by the product and cannot be viewed or altered.

You can use the Everyone group to set default security quickly. For example, to secure a report, you grant read, write, or execute permissions to the report for the Everyone group. After this security is in place, you can grant access to the report to other users, groups, or roles, and remove the group Everyone from the security policy for this report. Then, only users, groups, and roles that you specified have access granted to the report.

You can use the Everyone group to apply security during deployment , but you cannot deploy the group itself .

System Administrators
This is a special role. Members of this role are considered root users or super users. They may access and modify any object in the content store, regardless of any security policies set for the object. Only members of the System Administrators role can modify the membership of this role.

The System Administrators role cannot be empty. If you do not want to use System Administrators, you can create an empty group in the Cognos namespace or in your authentication provider, and add this group to the membership of the System Administrators role.

When this role is created during the content store initialization, the group Everyone is included in its membership. This means that all users have unrestricted access to the content store. Immediately after installing and configuring Cognos 8, you must modify the initial security settings for this role and remove the group Everyone from its membership .

You can deploy this role .

将everyone 从System administrator 删除,然后将everyone禁用!!!!

2008年1月15日星期二

探讨数据仓库与商业智能需求与需求分析(转载)

探讨数据仓库与商业智能需求与需求分析


  各位朋友,我是一名来自从事商业智能项目开发的一名一线技术工作者,我曾在这个领域从事过从程序员,系统分析员到项目经理多种岗位,从2002年开始,我亲身经历了多个不同规模的数据仓库与商业智能项目,经历了甲方和乙方的角色变换,我试图以一个一线bi从业者的体会,为众多朋友描绘出这个充满了激情与失落的bi需求的最直白的面目,以及结合自己的经验,试图从bi的本质观点(如何创造价值)出发,探讨"什么bi需求是有效的,怎么做有效的bi需求"这两个做bi需求不可回避,却又容易被淡忘的问题。并提出和阐述我认为做bi需求应该与发展企业价值链相结合思考的观点。

  bi界内,有一句几乎每个bi实施人员都备感到无奈,却又不得不承认的话,客户真正的需求往往是从项目投产那一刻才真正开始,仿佛bi项目天生就注定是一场的吃力不讨好的恶梦,。

  在决定bi实施成败与效果中,需求无疑是雷区最多的地方。对于bi项目而言,需求是个让人又爱又恨的怪圈。几乎所有bi项目都诞生自bi销售人员所描绘出的华丽前景,以及由此所激发出来的充满理想色彩和浪漫情怀的客户需求,是一个美妙的梦中情人;而在bi界众多周知的是,bi的需求又是一个最折磨人,最让人心力交瘁的顽皮孩子。

  那么,究竟商业智能是一样什么样的东西呢,商业智能的需求为什么同时具备了可爱和可恨两种自相矛盾的特质呢,让我们先从认识商业智能开始。

  第一章回 商业智能的来龙去脉

  传统以来,计算机一直被俗称之为电脑,把计算机和智能划上了等号,然而,我相信在坐有计算机常识的人都明白,除了科学幻想外,我们日常实际工作和生活中使用的计算机其实是个傻瓜,他只会毫不变通地执行的预定的程序,所以如果说计算机有智能,程序是智能的核心,再进一步说,所谓的智能的核心就是用程序来演义的逻辑, 在这种以程序为核心的体系下,数据充其量只是程序的一个附属,如果用游客进公园的大门比喻成一套非常简单的程序系统,公园的大门和配套的验票人员是程序,数据是门票,用过一次就扔了,最多拿个废纸箩装起来,一般也不会再有什么作用了,这就是过往在林林总总的政府和企业的计算机系统中数据所遭受的普遍下场了。

  附图描述信息化发展规律,从60年代计算机逐渐普及以来,计算机的应用领域无论在深度和广度都有了质的拓展,而从总体的应用水平来说,可以划分为以下三个阶段(如图1-1):这三个阶段与不是用单纯的技术高低来划分的,而是从应用的影响层面来划分。

  第一个阶段是基础信息化阶段,这个阶段从应用面来说,主要是解决数据处理电子化的问题,在这一阶段,机构内往往是一些数据处理工作量最大的部门首先采用了信息技术把手工数据工作电子化,如财务系统,计算机辅助设计系统,电子数据交换系统等等,实现了信息处理的电子自动化无论在人力投入和纸张损耗等方面无疑节约产生了具大的效益,可惜这些信息的关联面是非常有限的,甚至可以说离开了这些系统的主要用户,别人是看不懂这些数据的,而这些用户在企业中往往是少数的专业人士。

  第二阶段是企业级信息化阶段,这一阶段政府机构与企业往往已经拥有了几个分别建设的业务处理系统,机构期望从总体角度建设高度集中的、或互相联接的综合业务管理系统,如mis,erp,oa等等,这个阶段的应用核心是通过实施一个企业级的应用系统实现企业的业务流程或者管理流程的信息流畅,以此来提高企业的运作效率,以实现流程的自动化。

  第三阶段是目前的近几年刚起步的发展趋势,应该说也是现在很多企业完成了第二阶段的信息化建设后,所面临的下一步信息化该怎么走的问题,由于还没成为历史,所以我这里大胆提出我的定义,我认为,这个阶段应该是企业的战略价值信息化阶段,因为这个阶段的根本目标,是实现整个企业的系统思考(systems thinkings)能力,这个阶段的应用层面,应该说已经渗透到从企业管理到企业文化的方方面面,当然,这个阶段的形成与产生绝对是离不开前两个阶段所打下的信息化坚实的基础,本身这三个阶段也是承前启后,不可分割的,而我认为第三阶段对于企业发展更有深远的发展意义,我把企业形象地比喻一个人的话,第一阶段是针对手指的自动化,第二阶段是针对耳朵的自动化,第三阶段是针对大脑的自动化。

  第三阶段正是商业智能走上历史舞台并且成为主角的时代,也是企业求生存求发展不得不走向商业智能的历史选择,这个选择的根源,我认为,不是技术的进步,当然不可否认,技术的进步创造了物质上的条件,然而从因果关系的动因角度来做说,企业选择商业智能的根本原因,是市场竞争的必然。

  这样,我们不得不偏离一下主题,稍微看看现在市场的竞争给企业带来的压力,随着市场竞争的日益激烈,目前营销竞争方式已经从一个大众化营销阶段进入了一个差异化营销阶段,进而上升到一个价值链整合营销阶段,竞争从拼生产能力到拼服务能力,最终必然上升到拼决策能力,现在的企业一把手可能比历史上任何一个时期的皇帝还要难当,一则是现在企业内部组织机构的复杂性肯定超过100年前的封建帝国,生产环节,销售环节,财务环节,人力环节方方面面,缺一不可,协调一个企业的正常运作已经越来越需要精确化的管理,压缩管理成本已经是任何一位企业领导人都需要认真对待的问题,二则企业的外部环境瞬息万变,拜高度商业化所赐,市场的潮流和态势可能已经达到了一月或者数月一变的程度,一个判断的失误可能就会把企业带入覆灭的境地,在这种内外压力的夹攻中,一个领导的个人决策能力是不可能不达到人的极限,这个时候,企业的信息系统能做什么,当一个领导要了解能反映企业运行状态的一些重要的信息的时候,我们目前的企业的信息系统能迅速给出一个答案吗?

  很遗憾,不能,也很幸运,就是因为不能,才有我今天这个报告的主题。

第二章回 什么是商业智能

  越来越多企业已经认识到,数据是资产的重要组成部分,以前,企业可能把过期的数据看成是过期门票,随意抛弃,而当企业的领导要做出一个准确有力的决策的时候,终于发现,没有数据啊! 很多人说,不对啊,企业不是已经在计算机设备和软件上投入了大量的资金,做了很多业务系统了吗,不是有很多数据吗? 为什么不能用呢,这个问题问得实在是太好了,我相信每个人都在问这个简单而其实是最深刻的问题,为什么我们的数据不能用!

  过去数年里,几乎每一个企业都建立了自己的信息中心,收集和整理了大量的数据,但是这些数据又带来了始料不及的新问题,就是数量之大种类之浩瀚繁杂远远超过了可以控制和理解的范围,数据库变成了“数据监狱”,数据一进去就十有八九成了“囚犯”,而数据一旦过时,要么就被束之高阁,无情地被判了无期徒刑,要么就象碎成纸片的机要文件一样被销毁了。怎么让这些“数据囚犯”变成有价值的决策依据,进而成为有价值的生产要素,这就是商业智能的目的所在。

  实际上,给商业智能一个完整的定义是很难的,但是,从商业智能的产生根源的角度而言,可以概括为:商业智能是用来实现数据向信息转变,信息向知识转变,知识向价值转变的这么一个过程,以及这个过程中所使用到的种种技术和工具。

  由于商业智能是围绕着数据来做文章的,数据仓库也可以说是商业智能的核心环节,很多情况下,习惯性地,由于两者有如此密切的关系,所以在很多项目命名时,往往是把数据仓库和商业智能相提并论,有时这会给人一种很混淆的感觉。一般来说,上面所描述的是一个广义上的商业智能概念,在这个概念层面上,数据仓库是其中非常重要的组成部分,数据仓库从概念上更多地侧重在对各项企业各类信息的整合工作,包括了数据的迁移,数据的组织和存储,数据的管理与维护这些我们平常称之为后台的基础性的数据准备工作,与之对应,侠义的商业智能概念则侧重在对数据的查询,报表、多维/联机数据分析、数据挖掘和数据可视化工具这些平常称之为所谓前台的数据应用方面。

  第三章回 商业智能的需求

  前面我很罗嗦地交代了商业智能的来龙去脉,我希望让各位知道的是,商业智能需求天生就注定了是不好弄的,为什么,一句话可以概括,因为这是脑子工程,是一把手的工程!决策,其本身就是一个很个性化的事情,每个人的思维方式和思维习惯千差万别,加上性格偏向和个人喜好等因素,好与不好本身就是个价值判断,不是一个是非分明的逻辑判断。说穿了,商业智能的需求就不可能有什么标准的模式,因为即使从人工智能的理论角度,现在也还没有一个方法可以完全地模拟人脑的运做,所以对商业智能需求的定义和控制过程事实上就变成了对人脑的控制过程,如果需求是做到一把手的头上的,想控制一把手的想法可不是闹着玩的。

  关于商业智能的需求,业界和用户就存在两种观点之争,为了说明两种观点,我把商业智能四个字拆开成“商业”和“智能”两对,前者是商业观点,后者是智能观点。这也反映了商业智能需求驱动力的一个发展和变迁,从商业智能形成产业到目前,商业智能需求的主要驱动出现了三次变迁。

  首先是技术驱动,最开始只是觉得它是先进的技术,很多企业开始购买了很多这些产品,积极的通过技术的方法驱动这个技术在企业里面的应用。譬如引入查询与报表工具,多维分析工具来改些原来业务系统的报表以及开发一些分析型的应用。

  到后来我们称之为业务驱动,现在特别是金融行业,还有政府行业,他们的数据量非常大,基于数据的分析和研判实际上在日常业务流程的战术层次也有很大的一个应用的价值。前在很多行业里面,它的基本从业人员的素质已经非常专业化,比如说特别在金融行业里面,从业人员的素质非常高,因此他很多时候他的决策是在战术层面决定的,比如银行的客户经理负责信贷业务的话,很多时候是他客户经理就要决策,给这个客户相应的信贷的政策是什么样的,基本定制适合这个客户服务的套餐。面对这样一个情况,实际上我们看到很多时候是业务的一种驱动,满足一线业务人员每天做很多战术上决策的需要。

  再到后来是管理驱动,由于管理信息面的广度要求,就要开始建数据仓库整合数据了,大家可能觉得他是为管理服务的,但是我们认为在中国早期的bi建设当中,它没有真正起到这个作用,仅仅是给管理者提供了一些基本的报表而已。为什么会提到管理驱动呢,我刚才已经提到了现在的企业老总所面对的内外夹攻的双重压力,在这个情况之下,我们看到的是企业真正的意识到了这种管理的重要性,特别是现在金融企业,它面临很多管理上的改革,比如说中国的金融行业在这两年改革最多的地方,就是我们的信贷风险的管理,还有我们的相应的一些引进一些先进的成本核算的机制,还有绩效考核的机制,这些都是真正对管理从内在的改变。进而它反过来就会驱动数据仓库技术的应用。我们看到在以前,比如说我们做数据仓库的时候,我们会在中国的很多企业里面,认为它是一个可有可无的系统,只是说这个报表我早一点拿到,晚一点拿到而已,但是今天我们看到在银行里面所有的员工,他每个季度的奖金怎么发,都是数据仓库来支撑的绩效考核系统来实现的。

第四章回 商业智能的需求分析

  从这个变迁,回应刚才的我对商业智能的分拆,我们看到了一个很明显的趋势,就是目前商业智能需求的重点逐渐从“智能”转向“商业”,同时也因为这种我们和我们的客户对商业智能的理解的变迁,直接地影响了商业智能的需求形态,也必然对商业智能需求分析工作者提出了与时俱进,不断调整和修改需求分析方法的要求。

  在技术驱动的时代,商业智能的需求分析更多地是侧重在bi工具的应用,例如用报表工具来实现一些管理性的报表,用olap来实现一些经常性的数据统计与分析,用etl工具来替代手工编写代码方式的数据迁移。这个阶段的需求分析过程有非常明显的技术倾向性,这种项目往往有个前提,就是目标技术平台往往在项目启动之初已经敲定,需求分析师首先要非常了解目标技术平台的各项技术指标,并且非常小心地把目标用户的需求引导并且框定在这个目标技术平台的能力范围之内,这个逻辑是很自然的,也是无可厚非的。

  在业务驱动的时代,需求分析师首先需要非常熟悉目标用户的日常业务,商业智能系统比传统业务系统相比,需求的把握与定义是非常困难的,传统业务系统的流程是非常清晰的,类似银行业务的核心业务系统,诸如储蓄业务,对公业务,国际业务即使种类很多,而对于落实到具体业务的需求的时候,起码同一家银行是有一个标准的业务操作的流程的,不论流程多么复杂,所对应的需求总是明确的,可见的,用程序化的方式来表达也是简单的,而且作为生产系统,早日投产比完善往往是更具价值,在这个大前提是,花繁为简,稳定压倒一切是甲乙双方都认同的。而作为以辅助业务中战术决策的商业智能系统,首先要迈过的一个关口就是,在战术智慧上,系统的决策水平要起码高明于一个中等层次的业务人员的商业智慧,这样他才会觉得系统对他是有帮助的,回应刚才我所提出的,对商业智能需求的定义和控制过程事实上就变成了对人脑的控制过程,需求分析师如果不是一位该业务领域的专家,所能形成的需求分析结果能一次性地获得业务人员的真心拥护和认可无疑是天方夜谭,而在目前的bi界中,完全是从业务成长起来的bi需求分析工作人员凤毛麟角,实际情况往往是,一群技术功底还不错,脑子又转得比较快,能给客户一个良好形象的技术人员出身的人充当了bi需求分析师的角色,我就是一个非常典型的例子,这些人如果心态正确的话,会抱着一种对业务无知的谦卑感虚心地向自己的客户请教,并且仗着客户对技术莫测高深的敬畏,迅速地把需求结果框定为一个个本来就是客户手工在做的报表,当然也不排除通过向客户的需求学习,初步掌握了一些业务上的规律,把客户的需求提炼成灵活查询或者多维分析的模型。不幸地,就是这种需求分析方式也造成了我的报告开头所形成的需求怪圈,可以说,这种不幸的局面是先天性的,在东西没有实际做出来以前,无论是客户还是我们的需求分析师,双方所沟通的都是对方头脑里的想象,然后把这种想象用稍微直观一点的方式描述出来,这种表达的效果不管花了多少的细致周到的努力,实质上还只是一种纸上谈兵,或者俗称画饼,饼的模样是画出来了,饼的味道是无论如何也画不出来的,然而时间是不会等人的,工程师们迅速地照饼样动手施工,力求早日让客户吃上称心可口的美味,然而,交付的时刻往往是令人悲哀的,当用户第一口咬下去以后,能一口咬定就收货的用户几乎是不可能的,因为本来就是“学生”做出来的东西,有这样的结局是不足为怪的,于是就有接下来的不断的用户抱怨,不断的需求“变更”,不断的“优化”,不断的“补丁”,不断的忧虑和烦恼……

  目前,针对这种情况,一些大公司仗着自己的影响力,组织了一群技术专家经过多年的类似项目经验沉淀后,形成了一套所谓的模板,一则让bi需求分析师对于业务思考模式的学习和理解可以从客户现场退回到自己的公司内部,避免了露短的尴尬,二则,也试图用既成事实的行业标准的做法迅速而直接的影响用户的思维,业界内俗称,给客户“洗脑”,然而,针对个别企业的业务所分析出来的模板能推广,有一个预设前提,就是这种业务在全世界有一个可以普遍使用,而且有同质度非常高的标准成功模式,事实上,每个企业和人一样,是个性发展的产物,不是标准形成的产物,标准的推行本身就意味着企业的持续变革,这里也形成了一个悖论,持续的变革是否需要模板也需要持续的调整,然后模板的调整是否又需要持续的变革来配合,…… 本人对模板是认可的,而对模板的可推广能力是持非常怀疑的态度的。

  在bi领域,这个以优化为名的迭代几乎形成了一个没完没了的怪圈。这个怪圈的形成,给每一位曾为商业智能抱有共产主义理想的人冷冷地提了个醒,商业智能不是一个目标,而是一个过程,正如伟大的孙中山先生所嘱咐的,革命尚未成功,同志仍需要努力。

  第五章回 商业智能需求的出路

  一直到现在,可能各位觉得我对商业智能所持的是一种悲观的态度,这几年,我对商业智能的认识也确实出现了几次反复,从崇拜到失望,从激情蓬勃到理性回归,最后,我相信,商业智能需求必然走向的是价值驱动, 我相信,商业智能的需求经过多次否定之否定的螺旋式上升发展的过程后,商业智能的应用与企业价值链的优化组合是必然的趋势,只有把商业智能的需求和企业价值链的形成与提升结合起来,商业智能的实际价值才能得到真正的体现。

  正如前面的分析,各种内外因素的组合作用,使企业必然信息驱动为核心的生产和管理方式,在企业利润形成的整个价值链条中,信息使这条价值链从模糊逐渐走向清晰,将数据作为企业战略资产并且在数据质量方面继续投资,是使企业成为行业先锋的重要保证,运用商业智能的环境来回答诸如客户价值贡献度,地区市场差异,资本充足率,商品生命周期,成本与财务预算,定价策略,资金周转率等与企业利润的形成密切相关,商业智能把历史数据从“数据监狱”里释放出来,成为企业的一笔有形的资产。

  说到这里,已经到了我这次报告的尾声了,由于时间的限制,很多具体的点我都没有办法再深入展开了,我相信,商业智能从“智能”走向“商业”是一条商业智能需求走出困境的必由之路,我作为一个从事技术工作十二年,从一个很单纯的技术人员成长起来的技术人员,凭我自己的良心指出,技术至上的观点,不但会成为商业智能发展的桎梏,甚至会成为扼杀商业智能应用推广的无形黑手,所以,作为商业智能项目主导的这些需求分析负责人,首先,就要明确地树立的是做商业智能是为客户赚钱的商业观念,在和客户需求形成的过程中,把客户的需求引导向对客户有利而同时也对降低自身实施成本,加快投产速度也有利的角度,我从来不认为做报表和查询是一种身价的贬低,如果一份“简单”的报表或一笔“简单”的查询能为客户一年节省过千万的成本,避免一笔过千万的风险损失,一份报表就把客户对项目的全部投资都收回来了,这笔帐,我们这些技术人员应该学会帮客户算! 这样的商业智能项目,难道还会受到客户的冷遇和拒绝吗?

  最后,我们每位从事商业智能的业界朋友,有个很简单的问题我们问过了吗? 我想以这个问题作为我这篇报告的总结,请问到底什么是商业? 我想我的答案很简单,不过说了也等于什么都没有说,我想用这句香港人常说的口头语来作为我报告的结语:

  business is business!

2008年1月12日星期六

COGNOS经验摘抄一

用了将近半年的cognos,仍属入门级菜鸟,但是在使用过程中也颇有一些心得,将其整理并记录下来,希望对大家有所帮助

1. 在iqd中编写sql语句时,建议不要使用cognos的标准sql语法,因为这不仅会影响sql查询的速度,同时对sql查询的功能也有所限制,具体的实现的方法是直接将所有sql{}括起,这样cognos将不对花括号中的sql语句进行解释而是直接仍给所连接的数据库,用数据库自己生成最优化的查询计划。

2.关于iqd的写法,以下提供一个具体的模板,只需要依葫芦画瓢即可

COGNOS QUERY
STRUCTURE,1,1
DATABASE,DB
TITLE,IMR1.imr
BEGIN SQL
{select T1.C1 as c1,
T1.C2 AS C2,
T1.C3 AS C3,
T1.C4 AS C4
FROM SCM. T1

}

END SQL
COLUMN,0,C1

COLUMN,1,C2

COLUMN,2,C3

COLUMN,3,C4

3.对于相对固定不变的维表,最好是使用本地文本的格式如csv格式加以保存和维护,这样可以提高cube生成的速度

4.对于以时间为变化轴的数据,可以通过建cube group来按照指定的时间粒度进行增量维护

5.下钻路径应该根据维表层次的关系以及分析的需要进行选取,如果在同一维表中两个层次之间没有明确的继承关系,则应考虑将两个层次建在两个不同的下钻路径上

6.开发cube的时候,事实表中的数据应在保证不丢失信息的前提下尽可能的将粒度变大,这需要建立一个中间表,从源数据表中将聚合后的数据导入到中间表中,总之直接从源数据中提取数据建cube是不合适,应尽量避免


1. 对于多维报表模型,在开发环境下应存储为MDL格式而不是PYI格式,两种格式的区别在于MDL是以XML文本存储,保证了模型的移植性和可扩展性,但是在性能方面会相对差一些,因为每次生成Cube都要先将MDL编译成二进制的文件,而PYI则是已经编译好的,因此性能较MDL优,但是如果模型不是很复杂,两者的差别并不大

2.除时间维度外,其余维度中的category应设成always include,这样可以保证报表中有完整的分析方向,举个例子:

要分析所有客户中的男女分布,如果客户中全是男性,而将相应的category按默认生成include in need,则用pp打开cube后,只能看到性别维度中只有男性,没有女性。

这段时间又有一点体会,希望能为大家省去一些麻烦

1.Powerplay server 7 version 4的字体支持问题
从3.0 升级到4.0后,发现对粗体的支持有问题,发布的报表中如果使用了粗体,在upfront上浏览的报表出现了显示不正常的情况,主要包括:标签不能正常显示,报表中的数据不能正常显示,因此在4的版本下开发报表,应注意使用正常字体(这个问题,折腾了俺一个星期的时间才找到原因,5555)
2.报表格式的要求
为了保证报表有效、快速的显示,应在整张报表上使用相同的字体,并尽量避免使用图片等多媒体格式的文件
3.Transform中的多维模型设计
在维视图上,时间维在系统内部生成,并讲时间维放在维视图的第1列
在数据源视图上,将事实表放在最后
中间表的设计方面,在保证信息不丢失的前提下,尽可能通过聚合等方式,去除中间表中的明细数据
4.如果希望以时间为轴实现数据的增量更新,应使用cube group
5.如果要全部重新生成cube,应该将原有的cube删除后,再进行重建,否则会报错
6.如果维度比较稳定, 则尽可能的使用csv格式保存,对于渐变维或经常需要维护的维度使用iqd来获取
7.在pp中设计报表时,对于出现报表的列或行的维度,如果经常需要维护,则尽量使用subset,这样可以保证报表动态的更新
8.如果使用了宏来自动生成cube,产生报表,则在重新生成cube后,应该手工的保存mdl,否则下一次重新运行宏的时候,cube会生成失败(这个问题应值得注意)
9. 如果将其他环境下的cube放到当前环境中打开,如果cube中含有访问控制信息,则只有在当前环境下的Acess Manager中的用户类目录结构于先前环境下的完全一致,才能保证cube的正确打开, 可以先将前一环境下的安全控制配置文件导出为.lae,然后再导入到当前环境来完成这个工作


Cognos 企业级系列产品其实包括了两部分,一部分是ReporNet,一部分是Powerplay也就是人们常常提到的PPES,这两部分分别解决的是二维报表和多维报表的问题,同时在数据采集的机制上也是完全不同的,ReportNet采取的是对数据库做online查询,而PP则是在实现准备好的Cube基础上,创建多维报表,并支持钻取,切片,上卷,旋转等灵活的报表展示功能,前者的工作负荷集中在数据库上,而后者的工作负荷则集中在PPES服务器上。而两者的安装完全可相互隔离,他们在功能上是一种互补的关系,但是在物理上却毫无关系,对于Cognos产品的理解,我个人建议最好是先看看cognos自带的关于产品体系架构方面的文档,同时最好能自己亲手安装和配置一下,这样才能对其产品的结构有一个深入和全面的认识


数据库的导入
ReportNet自带sample数据库以及相关的工程文件
在导入模型之前,要将sample数据库中的表恢复至当前的数据库中,对于DB2,在..program filescognoscrnwebcontentsampledbdb2目录下有多个.tar文件,解压后可以看到有多个tabl?. ixf以及一个db2move.lst文件组成,其中db2move.lst是供db2move工具使用的列表, 而ixf文件中包含了相应的表的表结构定义和数据,使用db2move将表及其数据导入现有的数据库,命令如下:
db2move import -io replace_insert -u user -p password
如果提示单字节代码页集不相配的错误,可以自己建立一个批处理文件来使用import或load语句的forcein文件类型修饰符来强制对单字节代码页进行转换,如:
db2 connect to cogdb user cfep using cfep2004
import from tabl.ixf of ixf modified by forcein create into GOHR.BRANCH
import from tab2.ixf of ixf modified by forcein create into GOHR.EMPLOYEE
db2 import from tab3.ixf of ixf modified by forcein create into GOHR.COUNTRY_MULTILINGUAL
db2 import from tab4.ixf of ixf modified by forcein create into GOHR.COUNTRY
db2 import from tab5.ixf of ixf modified by forcein create into GOHR.GENDER_LOOKUP

将数据导入至数据库中之后,应对模型进行相应的修改,首先在crn中建立同名的datasource,并且在properties页中设置同名 datasource,schema设置为所使用的db2模式(大小写敏感),将type->interface设置为DB2,
即完成了对sample的导入工作

OLAP12条准则

Codd提出OLAP的 12条准则来描述OLAP系统:
准则1 OLAP模型必须提供多维概念视图
准则2 透明性准则
准则3 存取能力推测
准则4 稳定的报表能力
准则5 客户/服务器体系结构
准则6 维的等同性准则
准则7 动态的稀疏矩阵处理准则
准则8 多用户支持能力准则
准则9 非受限的跨维操作
准则10 直观的数据操纵
准则11 灵活的报表生成
准则12 不受限的维与聚集层次

2008年1月7日星期一

[转贴]2007年度天涯100条爆笑评论

这是一片神奇的土地,每天都发生着令人不可思议的事情,仅以此文记录2007年缺失公信力的中国!

  1.一只河蟹横着爬过来冷冷道:“你找夹吗?!!!”

  2.《走进科学》终于揭开神农架野人之谜——原来这是一群买不起房的中国人!

  3.中国的新闻比小说还要精彩!!!

  4.在国外,死人的矿难叫新闻;在国内,救出来的叫新闻!

  5.功课成绩全A,应聘的时候也竞争不过人家一对C!

  6.两样东西阻碍了中国男足冲出亚洲——他们的左脚和他们的右脚……

  7.为了做公务员,我生了领导的儿子!

  8.派出所是中国最大的反对党培训基地!

  9.城管大队长猝死在街头——狗都累死了,可见统治者残忍到什么程度!!!

  10.售楼大厅里,一位怀抱巨款的母亲哭了。我发自内心的觉得应该好好感谢政府,没有政府的英明决策,哪来的人间这般真情!

  11.他们说我钉子户是刁民,我就骂他们是刁官,因为只有当年日本鬼子在中国才说刁民和良民。

  12.威斯特年画——唯一登上美国《科学》杂志的中国年画!

  13.数据显示,2007年中国男性占全国总人口的52%,女性占43%。

  14.政府说的话就像尼斯湖水怪一样无所谓真假;政府的信用就像我的贞操一样稀罕但不值钱!

  15.美国自南北战争后就没有奴隶了,黑人奴隶变成自由人和国家公民;而在新中国的山西黑砖窑,却把自由人和国家公民变成了黑人奴隶!

  16.据国家统计局统计,2007年中国同比没有增长的有:1.工资;2.空气。

  17.什么节目充满了欺骗谎言却极受广大人民群众的喜爱?答:新闻联播!

  18.2007年中国股民真实写照:辛辛苦苦两三年,一夜回到解放前,宝宝飚泪把戏演,南海剧组狂搂钱!

  19.开发商买不起人民群众的房子就让法院强制执行,那么人民群众买不起开发商的房子是否也可以要求法院强制执行?

  20.商场:不卖镇坪腊肉!(理由:纸虎原产地,假货自然多!)
   企业:不招镇坪工! (理由:一方水土养育一方人!)
   大学:不招镇坪生! (理由:考试作弊,头号嫌疑!)
   部队:不招镇坪兵! (理由:连纸老虎都怕!)
   好男:不娶镇坪女! (理由:买个充气的,强过纸板的!)
   好女:不嫁镇坪男! (理由:除了嘴硬,哪都不硬!)

  21.嫦娥一号发回来的照片不是假的——因为市面上还没有发现月球的年画!

  22.国家统计局解释说:数据出现偏差并不奇怪,因为1个亿万富翁配上你们99个穷光蛋,平均下来中国人人都是百万富翁!

  23.世界上最可怕的事情不是生死离别,而是2008年你赶了一群猪浩浩荡荡地去北京换房!

  24.你们也不能太侮辱周正龙的智慧,至少他自己没顶片树叶,然后宣称自己是华南虎!

  25.高昂的医疗费用使老百姓得病直接进火葬场的可能将在三年内实现!

  26.从许霆多取了17万就被判无期徒刑,我们可以得出结论:中国只有法官,没有法律!

  27.政府动辄说:“我们也难啊,得养活十三亿人。”可问题是我们十三亿人养着政府还是政府养着我们???

  28.汽车、房子、民主、自由,这些现在都已经不是最重要的了,对于绝大多数中国人来说,怎样能在和谐社会下填饱肚子,这才是第一重要的~

  29.究竟是通货膨胀了,还是政府开始抢劫了?为什么我们这么努力地工作却过得如此艰难?终于明白大宋京都司令部司令员林冲,这么优秀的公务员为什么都上梁山了!

  30.CCTV1《晚间新闻》:大陆10月物价上涨6.6%,群众一致表示“对生活影响不大”;CCTV4《海峡两岸》:台湾物价增长4.5%,民众大叫“活不了了”!

  31.民主孕育幽默,独裁引发讽刺!

  33.世态炎凉鸡最懂,人情冷暖鸭先知。

  34.矿难在检讨中继续,楼价在控制中上升!

  35.都是中国人,不用讲素质!

  36.看了CCTV,觉得中国了不得;上了天涯杂谈,觉得中国不得了!

  37.英雄不问出路,流氓不看岁数!

  38.有奶不一定是娘,但有钱一定是爷!

  39.天亮睁开眼,还活着,真好;天黑闭上眼,能睡觉,值了!

  41.在中国凡是带“民”字的都落不着什么好——譬如民工、农民、民营、股民……

  42.中国上半年财政收入比去年同期增长32%——掠夺之疯狂可见一斑!

  43.现如今有钱的不如有权的,有权的不如有枪的,有枪的不如拿斧头镰刀的!

  44.好人苦不苦,扶个老太四万五;好事累不累,助人为乐是犯罪!

  45.政府不应该把个人所得税起征点订在2000,而是应该把中国最低工资订在2000!

  46.在中国,法律面前人人平等——关键在法律背后就不好说了!

  47.大陆的高官全世界哪个国家都可以去,但老百姓不一定哪儿都能去;台湾的高官全世界哪个国家都不能去,但老百姓哪儿都可以去!

  48.政府辟谣的事9.9成是真的,所以宁可相信谣言也不要相信政府,这是生活在现在的中国人的经验总结,血和泪换来的真理!

  49.在中国,网络代替了民主国家反对党的作用!

  50.(天涯不支持ascii码,先空着)

51.方丈说:“出家人不打诳语,相信CCTV还不如来我这里烧香拜佛。”

  52.杭州县长说:“晚上带你去看帝国主义的侵略!”(注:伟大领袖毛主席教导我们:帝国主义的侵略都是赤裸裸的!)

  53.山西洪桐县矿难105人遇难——向中国探地工程殉难的勇士们表示沉痛地哀悼!

  54.东莞农民骂道:“我们能养政府,为什么就不能养猪!!!”

  55.啥叫韩国人?就是牛逼的都是他家的!啥叫印度人?就是他家的都是牛逼的!

  56.明年是否真的存在北京奥运会,这事儿还得让陕西林业厅的请专家来鉴定一下!

  57.上级领导视察浠水县税务局,见到操局长的女秘书关心地问:“今天高潮来了没有?”

  58.气象专家做客电视台辟谣说六月的北京绝对不可能下雪,第二天猪笑着打滚道:“别污辱了俺的智商!”

  59.现在广东的胖人都不敢出门了,因为一出门街上就有数不清的眼睛绿油油地盯着他身上的肉!

  60.古人云:善有善报,恶有恶报。彭宇案后父母教育孩子:善有恶报,恶有善报,不是不报,南京法官未到!

  61.语文考试应该取消作文,因为我们人生第一次撒谎都是从作文开始的!

  62.要玩一夜情你也得找对地方啊,有道是劲舞团里寻小姐,可没听过谁玩跑跑卡丁车能搞出一夜情的!

  63.问个问题,中国有没有哪个领导人的亲戚不当公务员或者不开公司?

  64.随着肉价再次上涨,以前开玩笑说猪的“四大理想”中的“全国人民信回教” 就快要实现了!

  65.这次北京奥运会,安全套的尺寸一定要齐全!

  66.弘扬某党办事雷厉风行的超短篇小说:党员:有发票吗?妓女:有!党员:走!!
  
  67.71张照片充分揭示华南虎成为超稀有物种的原因——吐着舌头正面被人拍了半个小时都不带换个姿势的老虎,它不灭绝谁灭绝!

  68.南京法院的逻辑:赖宁去救火是因为那火是赖宁放的,雷锋帮老大娘买票因为大娘的钱是他偷的,98年抗洪是因为洪水是解放军泄的!

  69.彭宇案对社会还是有很大贡献的:以前大家如果没有见义勇为、帮老扶幼,事后难免会良心不安,自我折磨。现在不用了,很坦然就可以了~为什么?难道法院说的还会有错?

  70.张纪中版《西游记》里的天兵天将将在全国各地城管中进行海选,因为城管队员不论是形象作风,还是战斗力都非常有震慑力,非常适合演招之即来、来之即战、战之能胜的威武之师、文明之师!
 
71.山西——中国矿难事故的形象代言人!

  72.中国的肯德基是用来上厕所的!

  73.股票赔的只能扮超人出去打劫了!

  74.XP不发威,你当我是DOS啊!

  75.比谣言更可怕的是对言论自由的剥夺!

  76.中国的国旗和煤是红色的!

  77.爱她——就要喝可乐!

  78.这个世界上对姚明包夹最紧的,莫过于叶莉!

  79.她哥哥是黑社会咋了?我靠,你丫就不会入党啊!

  80.中国只有骗子是真的,因为只有假的才永远假不了!

  81.中国真的进入法制社会了——过去政府宣扬亩产万斤还受到领袖表扬呢,而现在自己造个纸包子新闻就要被判入狱了。

  82.封建社会权贵们用“天子犯法与庶民同罪”的空口号来愚弄百姓,新社会无非换了个口号——“法律面前人人平等”!
  
  84.啊,美丽的三峡大坝,感谢政府给重庆装了一个这么大的天然空调,只可惜砖家们把空调散热方向装反了!

  85.没了天敌,洞庭老鼠泛滥成灾;那没了什么,中国贪官污吏才泛滥成灾?

  86.和平年代能让一个地方(太湖蓝藻)的居民受到生命威胁,这在任何一个渴望和平的国家人民眼里都是不可思议的事!

  87.把陈良宇开除党籍也太欺负人了吧!你们党员杂碎就往我们群众队伍里推呀,和着我们群众就是藏污纳垢的地方啊!你经过我们群众同意了么?他本来是公仆,这么大的罪怎么反倒变成主人了???

  88.正常的事发生在正常的体制中或不正常的事发生在不正常的体制中都是正常的,正常的事发生在不正常的体制中或不正常的事发生在正常的体制中都是不正常的!

  89.傻逼应该是这样的:一个丑陋的男青年,穿了个两块钱的耳环,头顶用刺鼻的东西把黄毛竖得高高的,然后耳发和后颈留得又长又脏,一身假NIKE,手上一个NOKLA N73,手机的破喇叭里用最大音量播放着《求佛》,然后坐在公共汽车上一边抽烟一边对身边站着的孕妇老人熟视无睹,接着把嘴里的瓜子壳吐在地上,然后把瓜子袋扔到窗户外面,嘴里脏话连篇,然后盘算着回家去看个辫子戏!
  
  91.我生活在一个由封建阶级统治下用资本主义生产方式发展的人权状况比美国好五倍且被定义为社会主义国家的奴隶制国家里!

  92.“和谐”之所以成了一个讽刺,在于执政者口号喊得和现实反差太大了!

  93.组织之所以不可战胜,是因为组织不是人!

  95.对制造纸包子新闻的记者判刑并不是因为他侮辱了中国新闻记者的名声,而是因为他玷污了我国广大无良商贩们的智慧!

  96.恶意讨薪、恶意取款、恶意打工,只要和老百姓有关的都是恶意的;合理贪污、合理违法、合理拆迁,只要和政府相关的都是合理的!

  97.不要去见义勇为——这样本来就不是很好的社会风气就会更糟!

  99.我出生在中国,死了葬在中国,真是祸不单行啊~

  100.不知道我们看了这些该哭还是笑,但这就是我们天涯人眼里的2007:盛世出国虎,虎啸振国威。国危多妖孽,群丑闹中华!

32、40、83、90、94、98无法显示,请参见
http://cache.tianya.cn/techforum/content/14/738835.shtml