wenjiang 的个人资料morning's blog照片日志列表更多 工具 帮助

日志


10月25日

80后做到了这些就成熟了

每天11:00点前睡觉,每天7:30点前起床;
每天提醒自己,不要忘记梦想;
有时间多看书,多学习,做一个有文学素养的 人,不要把时间浪费在滑稽怪诞的事情上;
多锻炼身体,身体垮了什么都没有了,男人女人都要对自己好一点;
努力学习赚钱的本领,钱是一个人活着的根本,是做人的尊严;
常回家看看老妈,常给姐姐哥哥电话,亲情是最珍贵的感情;
要学会做个倾听者,要多听听别人的感受,从中获得教训;
要学会玩,学会有品位的玩;
工作上的烦恼,不要带回家,解决不了任何问题,带回来会平添更多烦恼;
做工作的有心人;
学会奉承领导,多摆笑脸,不做恶人,三缄其口,三思而后行;
学会推拖事情,人善被人欺,马善被人骑;
不和没素养的人交往,免得受其影响;
不与小气的人交往,吃亏的总是自己;
不与已婚人或者已经同居的人谈感情,多半是浪费口舌,最后没什么收获,反而打击自己的生活激情;
要寻找与自己有共同价值观的人,爱自己的人,好好珍惜,好好保护,终了一生;
不要把感情浪费在没有希望的人身上,看重外在的人永远都是弱智,只有在伤痕累累时才明白,真正爱她的人原来一直在她身边关注她,而她却一直以为幸福很遥远;
不要过分将就一个人,过分将就不是爱情;
要做回自己,为自己活着;
要明白读过很多书的人不一定有很多知识,没上过学的人却不一定是文盲
……
以上部分转自网络,择其善者而从之

6月28日

I did not speak out

First they came for the socialists, and I did not speak out
because I was not socialist.
Then they came for the trade unionists, and I did not speak out
because I was not trade unionists.
Then  they came for the Jews, and I did not speak out
because I was not Jew.
Then they came for me, and there was no one left to speak for me.
  
  -- Pastor Martin Niemöller

12月8日

西方人如此团结对待中国(想知道股市为何如此狂跌,请看完此文)

西方国家这次为什么会如此的团结?欧洲的德国、法国,一般是不会冒着这样的风险得罪中国这个经济大国的。伊拉克战争时德国和法国都和中国站在一边,不支持美国对伊动武。为伊拉克而得罪美国,不符合他们的国家利益啊。法国 年前为了不得罪中国,终止了对台军售,损失了几十亿的收入。而为什么今天会冒着这么大的风险公然与中国为敌?难到就是为了和自己根本不相干的西藏和奥运?
而另一个值得让人思考的问题是,一向是西方老大的美国,为什么这一次这么低调?让英、法、德在前台唱主角?对于西藏,西方国家很清楚,再怎么闹,中国也不可能做出让步。对于奥运,他们也很清楚,就算西方国家没有一个领导人出席北京奥运会,中国也就是面子上过不去罢了,对中国有实质影响吗?没有。
所以,西藏只是一个幌子,奥运也只是一个幌子。那么他们到底想从中国得到什么?
西方国家正面临着 年来经济陷入衰退的危险,他们需要有一个有实力的国家为这次西方经济的衰退买单。不言而喻,他们不约而同的想到了中国。 做为一个普通老百姓,我对国际经济没有什么研究,但2008年一开始我还是隐约到中国经济面临的危险,现在也就想起了温总理说过的一句话:2008年也许是中国经济最困难的一年。现在想起正在进行的这场闹剧,真的有点让人毛骨耸然了。美国不是低调,是很冷静,他们早已经不露声色的出招了:
1、美元贬值。因为美元贬值,人民币升值,中国16000亿美元的外汇储备已经人间蒸发了3000亿美元,而且还在继续蒸发中。更要命的是,由于人民币升值,中国出口产品成本增加,沉重的打击中国的出口,许多企业面临倒闭的危险。因为中国企业的倒闭,西方国家生产企业就可以开始生产复苏。
2、通过高油价以拖跨中国经济。中国经济的高速发展需要大量的进品原油,而西方国家则不断的提高石油储备,造成高油价一直持续,以增加中国经济建设的成本。这就是美国为什么要打伊拉克、打伊朗的原因:控制石油就是控制了经济命脉。
3、足涨中国金融泡沫。人民币升值,大量热钱自然要涌入中国,造成中国高成本、高币值的经济泡沫。或许这就是为什么政府就算是背着千夫所指都绝不救市的原因,就是为了打击国际投机资本在中国的恶意圈钱行为,而另一方面却不得不面对成千上万痛不欲生的股民的唾骂而有可能造成国内社会动荡的危险。现在看了,什么西藏事件、抵制奥运都是不足为道的事。
所以,“西藏”和“奥运”只是西方国家绑架的两个“人质”,他们真正的目的不是西藏,也不是奥运,而是以此为要挟,要中国为他们的经济衰退买单。不买单:搞乱你,要死大家一起死。买单:坐下来谈,你答应我我就息事宁人!
中国政府的冷静是对的,死死抓住经济建设这个中心不动摇才是关键。经济如果一跨,那就什么都跨了。 国民要冷静,要相互理解,不要给政府出难题。还是那句话:发展才是硬道理,压倒一切的是稳定。一个普通的中国人都能预料到,我相信政府能从容应对。我们要支持政府打赢这场表面上看起来是舆论战,而事实上是经济的战争
我们需要更团结 希望大家奔走先告
1、多省油 多乘坐公共交通出行 能做车就不要开车 能开窗户就不要开 空调
2、多省电 路灯不用就关掉, 能用耳机就不要开音箱,家电不用就要把整个开关拔下来 又省电又安全 希望政府把夜景工程的灯光就关掉
3、支持国货 能买到国货就不要买外国货 促进内需 钱要给自己人赚
4、努力工作 多开发和制造更好的产品 实业才是救国之本
5、尊重自己 尊重国人 不要崇洋媚外
6、告诉台湾 西藏 包括其他民族的青年 为什么我们现在还这么痛苦别的国家看不起,因为我们的祖辈太喜欢窝里斗,。
7、告诉身边的每一个人 中国只有强大才会有更好的家 ,落后就要挨打挨骂
8、政府在进步 督促政府更快的进步 而不是推到他 那样高兴的是美日 痛苦的是自己
12月7日

随手记录

全国排名人均国内生产总值(元)  
1  深 圳(粤) 136071.3  
2  大 庆(黑) 89962.56  
3  珠 海(粤) 66550.61  
4  玉 溪(滇) 56307.54  
5  克拉玛依(新) 50857.54  
6  盘 锦(辽) 46543.21
6月10日

C与C++中的异常处理

1.     指导方针

    根据读者们的建议,经过反思,我部分修正在Part14中申明的原则:

l         只要可能,使用那些构造函数不抛异常的基类和成员子对象。

l         不要从你的构造函数中抛出任何异常。

    这次,我将思考读者的意见,C++先知们的智慧,以及我自己的新的认识和提高。然后将它们转化为指导方针来阐明和引申那些最初的原则。

    (关键字说明:我用“子对象”或“被包容对象”来表示数组中元素、无名的基类、有名的数据成员;用“包容对象”来表示数组、派生类对象或有数据成员的对象。)

 

1.1     C++的精髓

    你可能认为构造函数在遇到错误时有职责抛异常以正确地阻止包容对象的构造行为。Herb Sutter在一份私人信件中写道:

一个对象的生命期始于构造完成。

推论:一个对象当它的构造没有完成时,它从来就没存在过。

推论:通报构造失败的唯一方法是用异常来退出构造函数。

    我估计你正在做这种概念上就错误的事(“错”是因为它不符合C++的精髓),而这也正是做起来困难的原因。

    C++的精髓”是主要靠口头传授的C++神话。它是我们最初的法则,从ISO标准和实际中得出的公理。如果没有存在过这样的C++精髓的圣经,混乱将统治世界。Given that no actual canon for the Spirit exists, confusion reigns over what is and is not within the Spirit, even among presumed experts.

    CC++的精髓之一是“trust the programmer”。如同我写给Herb的:

最终,我的“完美”观点是:在错误的传播过程中将异常映射为其它形式应该是系统设计人员选定的。这么做不总是最佳的,但应该这么做。C++最强同时也是最弱的地方是你可以偏离你实际上需要的首选方法。还有一些其它被语言许可的危险影行为,取决于你是否知道你正在做什么。In the end, my "perfect" objective was to map exceptions to some other form of error propagation should a designer choose to do so. Not that it was always best to do so, but that it could be done. One of the simultaneous strengths/weaknesses of C++ is that you can deviate from the preferred path if you really need to. There are other dangerous behaviors the language tolerates, under the assumption you know what you are doing.

    C++标准经常容忍甚至许可潜在的不安全行为,但不是在这个问题上。显然,认同程序员的判断力应该服从于一个更高层次的目的(Apparently, the desire to allow programmer discretion yields to a higher purpose)。HerbC++精髓的第二个表现形式上发现了这个更高层次的目的:一个对象不是一个真正的对象(因此也是不可用的),除非它被完全构造(意味着它的所有要素也都被完全构造了)。

    看一下这个例子:

struct X

   {

   A a;

   B b;

   C c;

   void f();

   };

 

try

   {

   X x;

   x.f();

   }

catch (...)

   {

   }

 

    这里,ABC是其它的类。假设x.ax.b的构造完成了,而x.c的构造过程中抛了异常。如我们在前面几部分中看到的,语言规则规定执行这样的序列:

l         x的构造函数抛了异常

l         x.b的析构函数被调用

l         x.a的析构函数被调用

l         控制权交给异常处理函数

    这个规则符合C++的精髓。因为x.c没有完成构造,它从未成为一个对象。于是,x也从未成为一个对象,因为它的一个内部成员(x.c)从没存在过。因为没有一个对象真的存在过,所以也没有哪个需要正式地析构。

    现在假设x的构造函数不知怎么控制住了最初的异常。在这种情况下,执行序列将是:

l         x.f()被调用

l         x.c的析构函数被调用

l         x.b的析构函数被调用

l         x.a的析构函数被调用

l         x的析构函数被调用

l         控制权跳过异常处理函数向下走

于是异常将会允许析构那些从没被完全构造的对象(x.cx)。这将造成自相矛盾:一个死亡的对象是从来都没有产生过的。通过强迫构造函数抛异常,语言构造避免了这种矛盾。

 

1.2     C++的幽灵

    前面表明一个对象当且仅当它的成员被完全构造时才真的存在。但真的一个对象存在等价于被完全构造?尤其x.c的构造失败“总是”如此恶劣到x必须在真的在被产生前就死亡?

    C++语言有异常前,x的定义过程必定成功,并且x.f()的调用将被执行。代替抛异常的方法,我们将调用一个状态检测函数:

X x;

if (x.is_OK())

   x.f();

或使用一个回传状态参数:

bool is_OK;

X x(is_OK);

if (is_OK)

   x.f();

    在那个时候,我们不知何故在如x.c这样的子对象的构造失败时没有强调:这样的对象从没真的存在过。那时的设计真的这么根本错误(而我们现在绝不允许的这样行为了)? C++的精髓真的在那时是不同的?或者我们生活在梦中,没有想到过x真的没有成形、没有存在过?

    公正地说,这个问题有点过份,因为C++语言现在和过去相比已不是同样的语言。将老的(异常支持以前)的C++当作现在的C++如同将C当作C++。虽然它们有相同的语法,但语意却是不相同的。看一下:

struct X

   {

   X()

      {

      p = new T; // assume 'new' fails

      }

   void f();

   };

 

X x;

x.f();

 

    假设new语句没有成功分配一个T对象。异常支持之前的编译器(或禁止异常的现代编译器)下,new返回NULL,x的构造函数和x.f()被调用。但在异常允许后,new抛异常,x构造失败,x.f()没有被调用。同样的代码,非常不同的含意。

    在过去,对象没有自毁的能力,它们必须构造,并且依赖我们来发现它的状态。它们不处理构造失败的子对象。并且,它们不调用标准运行库中抛异常的库函数。简而言之,过去的程序和现在的程序存在于不同的世界中。我们不能期望它们对同样的错误总有同样的反应。

 

1.3     这是你的最终答案吗?

    我现在相信C++标准的行为是正确的:构造函数抛异常将析构正在处理的对象及其包容对象。我不知道C++标准委员会制订这个行为的精确原因,但我猜想是:

l         部分构造的对象将导致一些微妙的错误,因为它的使用者对其的构造程度的假设超过了实际。同样的类的不同对象将会有出乎意料的和不可预测的不同行为。

l         编译器需要额外的纪录。当一个部分构造的对象消失时,编译器要避免对它及它的部分构造的子对象调用析构函数。

l         对象被构造和对象存在的等价关系将被打破,破坏了C++的精髓。

 

1.4     对对象的使用者的指导

    异常是对象的接口的一部分。如果能够,事先准备好接口可能抛的异常集。如果一个接口没有提供异常规格申明,而且又不能从其它地方得知其异常行为,那么假设它可能在任何时候抛任意的异常。

    换句话说,准备好捕获或至少要过滤所有可能的异常。不要让任何异常在没有被预料到的情况下进入或离开你的代码;即使你只是简单地传递或重新抛出异常,也必须是经过认真选择的。

 

1.5     构造函数抛异常

    准备好所有子对象的构造函数可能抛的异常的异常集,并在你的构造函数中捕获它们。如:

struct A

   {

   A() throw(char, int);

   };

 

struct B

   {

   B() throw(int);

   };

 

struct C

   {

   C() throw(long);

   };

 

struct X

   {

   A a;

   B b;

   C c;

   X();

   };

 

    子对象构造函数的异常集是{char,int,long}。它就是X的构造函数遭遇的可能异常。如果X的构造函数未经过滤就传递这些异常,它的异常规格申明将是

X() throw(char, int, long);

但使用function try块,构造函数可以将这些异常映射为其它类型:

X() throw(unsigned)

   try

      {

      // ... X::X body

      }

   catch (...)

      {

      // map caught sub-object exceptions to another type

      throw 1U; // type unsigned

      }

    如同前面的部分所写,用户的构造函数不能阻止子对象的异常传播出去,但能控制传递出去的类型,通过将进入的异常映射为受控的传出类型(这儿是unsigned)。

 

1.6     构造函数不抛异常

    如果没有子对象的构造函数抛异常,其异常集是空,表明包容对象的构造函数不会遇到异常。唯一能确定你的构造函数不抛异常的办法是只包容不抛异常的子对象。

   如果必须包容一个可能抛异常的子对象,但仍然不想从你自己的构造函数中抛出异常,考虑使用被叫做Handle ClassPimpl的方法(“Pimpl”个双关语:pImpl或“pointer to implementation”)。长久以来被用作减短编译时间的技巧,它也提高异常安全性。

    回到前面的例子:

    class X

   {

public:

   X();

   // ...other X members

private:

   A a;

   B b;

   C c;

   };

    根据这种方法,必须将X分割为两个独立的部分。第一部分是被X的用户引用的“公有”头文件:

struct X_implementation;

 

class X

   {

public:

   X() throw();

   // ...other X members

private:

   struct X_implementation *implementation;

   };

 

    而第二部分是私有实现

struct X_implementation

   {

   A a;

   B b;

   C c;

   };

 

X::X() throw()

   {

   try

      {

      implementation = new X_implementation;

      }

   catch (...)

      {

      // ... Exception handled, but not implicitly rethrown.

      }

   }

 

// ...other X members

 

    X的构造函数捕获了构造*implementation过程(也就是构造abc的过程)中的所有异常。更进一层,如果数据成员变了,X的用户不需要重新编译,因为X的头文件没有变化。

    (反面问题:如果X::X捕获了一个异常,*implementation及至少子对象a/b/c中的一个没有完全构造。但是,包容类X的对象作为一个有效实体延续了生命期。这个X的部分构造的对象的存在违背C++精髓吗?)

    许多C++的指导手册讨论这个方法,所以我不在这儿详述了。一个极其详细的讨论出现在Herb Sutter的著作《Exceptional C++》的Items2630上。

 

1.7     对对象提供者的指导

    不要将异常体系等同于一种错误处理体系,认为它和返回错误码或设置全局变量处在同一层次上。异常根本性地改变了它周围的代码的结构和意义。它们临时地改变了程序的运行期语意,跳过了一些通常都运行的代码,并激活其它从没被运行的代码。它们强迫你的程序回应和处理可导致程序死亡的错误状态。

    因此,异常的特性和简单的错误处理大不相同。如果你不希望这些特性,或不理解这些特性,或不想将这些特性写入文档,那么不要抛异常,使用其它的错误处理体系。

    如果决定抛异常,必须明白全部的因果关系。明白你的决定对使用你的代码的人有巨大的潜在影响。你的异常是你的接口的一部分;你必须在文档中写入你的接口将抛什么异常,什么时候抛,以及为什么抛。并将这文档在异常规格申明出注释出来。

 

1.8     构造函数抛异常

    如果你的构造函数抛异常,或你(直接地或间接地)包容的某个子对象抛异常,包容你的对象的用户对象也将抛异常并因此构造失败。这就是重用你的代码的用户的代价。要确保这个代价值得。

    你没有被强迫要在构造函数里抛异常,老的方法仍然有效的。当你的构造函数遇到错误时,你必须判断这些错误是致命的还是稍有影响。抛出一个构造异常传递了一个强烈的信息:这个对象被破坏且无法修补。返回一个构造状态码表明一个不同信息:这个对象被破坏但还具有功能。

    不抛异常只是因为它是一个时髦的方法:在一个对象真的不能或不该生存时,推迟其自毁。

 

1.9     过职

    别让你的接口过职。如果知道你的接口的精确异常集,将它在异常规格申明中列举出来。否则,不提供异常规格申明。没有异常规格申明比撒谎的异常规格申明好,因为它不会欺骗用户。

    这条规则的可能例外是:模板异常。如前三部分所写,模板的编写者通常不知道可能抛出的异常。如果你的模板不提供异常规格申明,用户将降低安全感和信心。如果你的模板有异常规格申明你必须:

l         要么使用前面看过的异常安全的技巧来确保异常规格申明是精确的

l         要么在文档中写下你的模板只接受有确定特性的参数类型,并警告其它类型将导致失控(with the caveat that other types may induce interface-contract violations beyond your control)。

 

1.10     必要vs充分

    不要人为增加你的类的复杂度,只是为了适应所有可能的需求。不是所有对象都会被重用的。如pet Becker写给我的:

    现在的程序员花了太多的时间来应付可能发生的事情,而他们本应该简单地拒绝的。如果有一个抛异常的好理由的话,大胆地抛异常,并写入文档,不要创造一些精巧的方法来避免抛这些异常。增加的复杂度可能导致维护上的恶梦,超过了错误使用受限版本时遇到的痛苦。

    Pete的说法对析构函数也同样有用。看一下这条原则(从Part14引用过来的):

    不要在析构函数中抛异常。

    一般来说,符合这条原则比违背它好。但,有时不是这样的:

l         如果你准备让其他人包容你的对象,或至少不禁止别人包容你的对象,那么别在析构函数中抛异常。

l         如果你真的有理由抛异常,并且知道它违背了安全策略,那么大胆地抛异常,在文档中写入原因。

    就如同在设计的时候必须考虑异常处理,也必须考虑重用。在析构函数上申明throw()是成为一个好的子对象的必要条件,但远不充分。你必须前瞻性地考虑你的代码将遇到什么上下文,它将容忍什么、将反抗什么。如果增加了设计的复杂度,确保这些复杂度是策略的一部分,而不是脆弱的“以防万一”的保险单。

1.11     感谢

   (略)

    除了一些零星的东西,我已经完成了异常安全的主题!实际上我也几乎完成了异常的专题。下次时间暂停,在三月中将讨论很久前承诺的C++异常和Visual C++ SEH的混合使用。

5月6日

【转载】回老家去

      还在为跻身大都会沾沾自喜吗?多年寒窗苦读后,你终于也成为500强的一员。兴奋得挤地铁都挂着公司的工牌;只用本公司出产的手机;出差时陶醉地呼吸酒店的空气,似乎氧离子都变成五星级……    几乎是完美的,如果春节不回老家的话。
        那“贫瘠落后”的土地上发生的一切,刺激了你的神经。
        首先,表哥家居然住上复式了。他2000多块钱的月工资,被你无数次嗤之以鼻。可县城的房价也远比都会里仁慈,800到1200元。加上姨夫姨母的帮助,他轻轻松松地攻下160多平方米。二层小楼是这样布置的:一楼,茶室、书房、孩子的游乐房;二楼,卧室、老婆的健身房。某名家的淡墨山水,也怡然大方地挂在墙上。对,就是你钟爱的那个名家。趁没人注意,你偷偷地摸了摸它,明白自己这辈子拥有它的可能性微乎其微。一、真迹很费银子;二、即使买得起真迹,又哪里找那么大一面墙,安放梦想和心情?
        其次,同学小四居然当上科长了。因为脑袋大,中学时他得了个外号“胖头鱼”。头大不一定都是爱因斯坦,高考时他只上了个金融高专,毕业找工作也很蹉跎,托老爸的关系进了老家的国土局。8年后,该局已经成了众所周知的权力部门。同学聚会,他很谦逊很厚道的,真羡慕你们这些高材生。不过,买单时,气派上来了,嗯,在这里签个字就可以了吧……饭后他殷勤地尽地主之谊,开一辆宝来载优等生们周游全城,这是荷花广场,准备开发成景观型住宅小区,年后竞标。舍我其谁的模样,令你无端地惴惴。你深知,再怎么奋斗,终其一生,你的身份都不会是“大人”只会是小小的 “子民”。
        第三,邻居的孩子居然上小提琴培训班了。此外,周六习大字,周日学游泳。学这么多有什么用?你脱口而出。孩子的妈妈、隔壁家的阿芳淡淡答道,不图有用,就是陶冶性情。那姿态里洋溢的气息,为小城女子所特有,与世无争,怡然自得。你惭愧起来悲哀起来,“不为什么”地学一门技艺、养育一个娃儿,这种人生观早已与你远离。你就是一台一周工作120个小时、春节加班挣三倍工资的人型机器。
        你与老家,与老家所代表的,早已远离。
        看来当初的想法“太傻太天真”。可“太傻太天真”的,又岂止你一人?万千人走一条路径:好好读书,争取留京留港留沪;进大公司,加薪的速度得赶上房价的涨幅。一路玩儿命奔跑恨不得绝尘而去,要与平庸的、促狭的、不思进取的旧生活彻底别离。现在你发现,平庸的是自己,促狭的是自己,不思进取的还是自己。当你在大都会为最基本的生存挣扎,老家的人民,正享受着平稳安逸带来的高品质性价比。
        “赚够100万就回家”,你不忿了,在论坛上发帖。100万每年的利息也有39000了,足够回老家挥霍,起床后就干三件事,闲逛、晒太阳、打麻将……你为这样的意淫自鸣得意,别了,卡奴,别了,股奴,别了,房奴,别了,曾经蛊惑过我激荡过我摧残过我的人生道路!
        支持!顶你!深受压迫的众兄弟附和,青春这样短,征途这样长,不如归去不如归去。所寓居的土地,不是熟悉的土地,后海虽然美,昆明湖虽然浩荡,但你热爱热干面远胜过豌豆黄。这座城市是油,你是水;这座城市是骨,你是皮。
        就要从一个极端滑向另一个极端了,直到有一个声音怯怯地问:“可是,老家有欢乐谷、嘉年华?老家有清华、北大、精彩的讲堂?老家每年暑假有国外的一级音乐团队来巡演?老家允许我们不靠任何关系,进很好的公司、靠真本领做人?”
        它点中你了。它点中了你迷茫的核心。
        是有一种岁月,写满了辛苦写满了艰难,可它意味着自己做主、长大成人;是有一种生活,远离了唾手可得的轻松与富裕,可涅槃之后,它还是会跟你一起邂逅幸福;是有许多个假期,装满了思念牵挂与哀伤,可比起那些从未离开过的人们,你更深刻地品尝到浓浓的情意;是有一种视野,洗尽铅华度尽劫波的视野,让你大气地活着宠辱不惊。
        说到底,这不是回不回老家的问题,是选择的问题。从最开始离开原点起,你和家乡的人们,就注定要画不同的半径。大和小的终局都是圆满。他们从容地画好了,你呢?

4月30日

硬盘没空间了,删掉一堆SDK

记录一下今天还剩下的SDK

DirectX SDK

dx7sdk-7001.exe   98默认环境下的directX SDK版本

其他版本都删了,最近不在做DX的东西,以后用到再下,这东西更新很快

 

Platform SDK

PlatformSDK_SVR2003_2003Feb.iso   这是珍藏版,哈哈,为什么这么说呢,这是最后支持VC6开发环境的PSDK

5.2.3790.2075.51.PlatformSDK_Svr2003R2_rtm.iso 这是最后使用chm格式的PSDK,也很有珍藏价值

6.0.6001.18000.367-KRMSDK_EN.iso   这是最新的PSDK,支持server2008,Vista

 

DDK,驱动开发是我老本行

98ddk.exe        98的DDK
win2kddk.exe        2000的DDK
XP IFS.zip        XP的IFS
1830_usa_ddk.iso    2003的DDK
Win2003 IFS.iso        2003的新版DDK,含IFS
WDK_WS08RTM_DVD.iso    2008的DDK

 

Speech API SDK

SpeechSDK51.exe  做TTS用到的开发包

SpeechSDK51LangPack.exe

4月25日

雨果:我爱人民,但我讨厌乱哄哄…

何农 发布时间:2007-3-3 0:23:26 来源:光明日报 阅读: 849

1877年,在纪念1848年2月革命30周年时,雨果写道:“回忆是力量之源……永远不要忘记周年纪念日。开展纪念日活动,就如同点燃一支火炬。”法国19世纪浪漫主义文学运动的领袖、法国文学史上最伟大的作家之一维克多·雨果生于1802年2月26日。他的创作生命长达68年,他本人的生活和创作几乎贯穿了19世纪法国的所有重大事件。但同时,这又是一个具有丰富生命侧面的人物。在他逝世的纪念日里,让我们“点燃一支火炬”,以纪念这位人道主义作家。

    作为政治人物的雨果

  雨果曾经说:“我爱人民,但我讨厌乱哄哄的群众。”

  19世纪的法国历史,是用鲜血和刺刀写就的。革命、起义此起彼伏,帝制、共和反复不止。社会运动反映出的声音只有一种,就是对抗。生活在这样一个时代背景下的雨果,作品中却少有你死我活的斗争,而体现了深厚的人道主义思想。究其原因,家庭出身应该是重要的一点。

  雨果出生在一个政治分裂的拿破仑时代的家庭:父亲是拿破仑手下的一名将军,曾长期跟随拿破仑南征北战,后又宣誓效忠波旁复辟王朝;母亲却曾积极密谋推翻拿破仑。处于同床异梦的父母之间,他从小就困惑于对立双方的不同、不容和不屑。这最终造就了雨果在政治上的平衡和非极端:既坚持民主、追求自由;但又绝不介入打打杀杀的革命。在他以84岁高龄告别人世的时候,弥留之际的大作家吟出了这样一个诗句:“在日光与夜色中冲击。”后来,著名传记作家安德烈·莫洛亚评论说:“这一佳句描述了他的一生,也描述了人类的一生。”

  1830年七月革命推翻了波旁复辟王朝,法国君主立宪制资产阶级统治时代开始。社会的稳定、统治者的拉拢,使雨果一度摇摆于民主立宪制和共和制之间。1848年二月革命后,法兰西第二共和国成立,七月王朝寿终正寝。雨果由此确立了共和主义立场。

  不能说雨果的政治立场是从一而终和缺乏矛盾的。但是,他的政治态度一向温和、稳健,主张通过一点一滴的改良来推动社会前进。而且,当自己的理想和政治意识遭到颠覆的时候,他也会毫不犹豫的选择对抗。突出的例子是,1851年12月5日,路易·波拿巴(拿破仑三世)为连任总统发动雾月政变,解散议会并称帝。坚持民主共和的雨果,对这种历史倒退奋起反抗。斗争没有取得胜利,作家不得不流亡国外,出逃比利时,十九年后,1870年拿破仑三世垮台,雨果才回到法国。长篇小说《悲惨世界》(1862)等就诞生在流亡期间。

  被朋友“夺爱”的雨果
  从1828年雨果与书商签订协议,到1831年初《巴黎圣母院》写作完成,查阅历史文献资料、到实地考察遗迹旧址,雨果为这部世界文学史上的传世名作花费了大量的精力。从宗教到历史,从建筑到艺术,从爱情到战争,史诗般的巨作《巴黎圣母院》,是人类文学史上最重要的作品之一。

  雨果沉浸在充满激情的创作之中,却冷落了自己的妻子阿黛尔。他的好朋友、文学评论家圣伯夫(1804—1869),此时却与寂寞、郁闷的怨妇阿黛尔越来越成为无话不谈的莫逆之交。1826年雨果的《颂歌集》出版以后,遭到同行诋毁、批评,圣伯夫在雨果最困难的时候挺身而出,为他辩护。在为朋友慷慨美言的同时,也对雨果的创作提出了自己的看法。这样,圣伯夫成为雨果最亲密和信任的朋友之一,并有机会认识了他的妻子阿黛尔。

  雨果本人的感情生活其实也是丰富多彩的。他的一生中除了经常围绕左右的文学女青年、文学女爱好者之外,甚至也有公开的情人,据说还不止一个。雨果与其中之一名叫朱丽叶特的女子,过着简直可以说是与家庭生活无异的日子。精力充沛的雨果,晚年还有过一个漂亮的情妇。但是,当听说自己的妻子红杏出墙、特别是和自己信任的好朋友过从甚密时,大文豪还是异常痛苦的。这个终日忙碌、情感热烈、思想深刻的哲人,把对爱情、忠诚和自由的思考,化作了笔下一个个活生生的人物,从而诞生了不朽的《巴黎圣母院》。小说中围绕三男一女展开的有关忠诚与感恩、爱情和友谊、私欲和嫉妒、崇拜及献身的主题,恰当地反映出作家现实生活中的困惑和混乱;同时,不同的男人形象也表现出作家本人对自己的深刻理解和分析。甚至有评论家把作品中的人物、思想和作家生活中的人物一一对应,以说明这段感情经历在《巴黎圣母院》的创作中的重要象征意义。

  反对死刑的雨果

  具有深刻人道主义思想的雨果,坚决地主张无条件地废除死刑。当断头台成为法国大革命中从肉体上执行死刑的主要手段,这被认为是历史的、人道的进步。在此之前的手段,如凌迟等,都过于残忍而具有强烈的恐怖色彩。革命的到来和日益高涨,使得死刑的执行成为法国社会中日常可见的现象。血腥的现实,促使大文豪一次又一次地主张取消死刑。在认识到这种主张尚难以实现的情况下,雨果要求把断头台从巴黎市中心移走,以避免群众看到这可怕的场面。在一百多年前处于尖锐对立的法国社会中,他的取消死刑、避免当众施刑等主张,应该说具有超越时代的意义。

    生前生后享尽荣华的雨果

  人们观念中,历史上一个有成就的文学艺术家,必诞生于危难之中,或穷困潦倒、为社会不容;或艰苦一生、为还债而操劳;或因思想超前不为人理解而郁郁寡欢,或为躲避迫害而四处流浪、到处奔波。而雨果完全不同。他一生基本上没有受过苦,即使因政治信仰不同流亡国外期间也如是。他的作品,官、民“通赢”,雅俗共赏,一直是他所生活的那个时代的“主流”。他1841年被选为法兰西学院院士。1845年晋身贵族,封为伯爵。1871年当选国民大会代表。1876年当选参议员。1885年5月22日,雨果逝世。法国两院立即休会,宣布全国致哀。6月1日,举行国葬。鸣礼炮21响,200万群众为雨果送葬,灵柩置于凯旋门下,供万民瞻仰,随即直接被葬于巴黎先贤祠。

  一位诗人、小说家得到如此厚爱,在人类历史上怕是绝无仅有。真可谓:生前,享尽富贵、万众敬仰;死后,极尽哀荣、名垂青史。

安澜--从雨果的爱情谈起

http://campus.eol.cn 2005-07-25 17:01 中国教育在线校园通讯社 李瑾

  读书,看到雨果的一件轶事:

  雨果17岁那年,与门当户对、年轻貌美的阿黛·弗切尔订婚,20岁两人结婚。阿黛是个画家,为雨果生了三男两女。这本应是个幸福的家庭,可是到了1832年,也就是雨果婚后的第十年,阿黛突然另结新欢,追随另一位作家而去。这使雨果十分痛苦,又倍受打击。

  次年,他结识了女演员朱丽叶·德鲁埃,两人坠入爱河,这才使他那颗伤痛的心得到暂时的抚慰。阿黛离弃雨果后,生活并不幸福,经济一度很拮据,几乎到了举步维艰的地步。一次,她精心制作了一只镶有雨果、拉马丁、小仲马和乔治·桑四位作家姓名的木盒,到街头出售,可是因为要价太高,若干天无人问津。一天,雨果偶然间遇到卖木盒的阿黛,就托人过去悄悄地买下了,这只木盒至今陈列在巴黎雨果故居展览馆内。

  读到这里,我不禁想起了卢梭在《忏悔录》里写到的一个情节——卢梭11岁时,在舅父家遇到了刚好大她11岁的德·菲尔松小姐,她虽然不很漂亮,但她身上特有的那种成熟女孩的清纯和亮丽还是将他深深地吸住了。她似乎对他也很有“好感”,很快,两人便轰轰烈烈地像大人般地爱恋起来。但是不久他就发现,她对他的爱只不过是为了激起另一个她偷偷爱着的男人的醋意——用卢梭的话说“只不过是为了掩遮一些其他的勾当”,他年少而又过早成熟的心充满了无法形容的气愤和怨恨。他发誓永不再见这个负心的女子。可是二十年后,已享有极高声誉的卢梭回故里看望父亲,在波光潋滟的湖面上,他竟不期然地看到了离他们不远的一条船上的菲尔松小姐,她衣着简朴,面容憔悴而又暗淡。卢梭想了想,还是让人悄悄地把船划开了。他写道:“虽然这是一个相当好的复仇机会,但还是觉得不该和一个四十多岁的女人算二十年前的旧账。”

  不论是雨果也好,还是卢梭也罢,他们在遭到自己最爱的人无情离弃和愚弄后的悲愤与怨恨,我们是不难想像的。可是为什么时间的流水淘尽,当初那种火山般喷涌的怨怒与报复欲未曾复燃,相反,却要在情愿或不自控中再伸出温情之手去扯她一把或者悄悄地走开——不在她的心口上撒一把盐呢?

  说穿了,还是爱。因为,他们曾经真真切切地爱过、痛过,那份爱,曾经深入骨髓,温暖过他们的生命旅程。时间的流水可以带走很多东西,诸如忧伤、仇恨,但永远抹不去最初的那份爱恋在心灵上留下的温馨、美好与悸动。

  那份爱,已如磐石,在心瓤上扎根。

  这不仅是伟人,即使平凡如我们,也会在不经意中这样做,除非当初负心离开我们的那个人已志得意满,比我们过得安顺。即使这样,当机缘让我们不期而遇时,我想,我们仍然会像卢梭一样悄悄地离开,这倒不是为了报复,而是不忍心让他(她)看到我们自身的窘迫与落寞,从而触动起他(她)内心深处的歉疚和不安——其实,这又何尝不是爱的指派?

  爱让我们的人性复苏,爱让我们变得高尚。“不应有恨,何事长向别时圆?……但愿人长久,千里共婵娟。”除了回忆,除了淡淡的祝福,我们真的没有留下什么怨恨,又何必要恨?

  世上千般情,惟有爱最神圣;世上千般情,也惟有爱最难说清。

不孝之人冥府現世罰則

冥府五殿文判  降              96.01.06

五、不孝之人  

  人生在世,百善孝為先。然則,近世以來,人心趨於功利。濃郁親
緣,竟被現實利益所取代。往昔,稍有忤逆尊親,動輒十目所視,千夫
所指,眾人唾棄。於今,竟有不孝尊親、辱親、打親,甚至弒親,僅為
取得財利。
如此罪大惡極,天律不容,冥律更是嚴罰。古云:思親之痛如己之痛,
若不能和顏悅色以事親,即為不孝。因而,冥罰亦分輕重。
  凡不知尊親之苦,而不知順親意,每一次削一祿。
  凡尊親病痛不能立即送醫延治,每一次削其一祿。
  凡不能勤問安,不能和顏悅色引親之憂,削其一祿;引親之怒加削
一祿。
  凡不能事親以盡心,動輒求取錢財,每次削其一祿;若為求取財產
,動輒言語頂撞,甚至辱罵、毆打,削其一福;若嚴重不孝,可以削其
全部福祿;甚至奪其壽元。
  凡有為人處世不能謹慎,累及尊親憂煩,削其一祿。
  凡有從事危險不法之事,累及尊親驚懼,削其一祿;若有嚴重者,
可以削其一福。
  世人需知「天地君親師」乃為五倫之一,不孝之人,天罰尤重。凡
有不孝之人,可以累計加罰,及至奪其壽元為止。

 

 

原文出处: http://groups.google.com.tw/group/microsoft.public.tw.dotnet.vsnet/browse_thread/thread/7a8ad82c813c8cec

4月20日

互联网电子公告服务管理规定

中华人民共和国信息产业部令

Technorati Tags: ,

第3号

《互联网电子公告服务管理规定》已经2000年10月8日第4次部务会议通过,现予发布,自发布之日起施行。

部 长:吴基传

二000年十月八日

互联网电子公告服务管理规定

  第一条 为了加强对互联网电子公告服务(以下简称电子公告服务)的管理,规范电子公告信息发布行为,维护国家安全和社会稳定,保障公民、法人和其他组织的合法权益,根据《互联网信息服务管理办法》的规定,制定本规定。

  第二条 在中华人民共和国境内开展电子公告服务和利用电子公告发布信息,适用本规定。
  本规定所称电子公告服务,是指在互联网上以电子布告牌、电子白板、电子论坛、网络聊天室、留言板等交互形式为上网用户提供信息发布条件的行为。
  第三条 电子公告服务提供者开展服务活动,应当遵守法律、法规,加强行业自律,接受信息产业部及省、自治区、直辖市电信管理机构和其他有关主管部门依法实施的监督检查。

  第四条 上网用户使用电子公告服务系统,应当遵守法律、法规,并对所发布的信息负责。

  第五条 从事互联网信息服务,拟开展电子公告服务的,应当在向省、自治区、直辖市电信管理机构或者信息产业部申请经营性互联网信息服务许可或者办理非经营性互联网信息服务备案时,提出专项申请或者专项备案。
  省、自治区、直辖市电信管理机构或者信息产业部经审查符合条件的,应当在规定时间内连同互联网信息服务一并予以批准或者备案,并在经营许可证或备案文件中专项注明;不符合条件的,不予批准或者不予备案,书面通知申请人并说明理由。

  第六条 开展电子公告服务,除应当符合《互联网信息服务管理办法》规定的条件外,还应当具备下列条件:
  (一)有确定的电子公告服务类别和栏目;
  (二)有完善的电子公告服务规则;
  (三)有电子公告服务安全保障措施,包括上网用户登记程序、上网用户信息安全管理制度、技术保障设施;
  (四)有相应的专业管理人员和技术人员,能够对电子公告服务实施有效管理。
  第七条 已取得经营许可或者已履行备案手续的互联网信息服务提供者,拟开展电子公告服务的,应当向原许可或者备案机关提出专项申请或者专项备案。
  省、自治区、直辖市电信管理机构或者信息产业部,应当自收到专项申请或者专项备案材料之日起60日内进行审查完毕。经审查符合条件的,予以批准或者备案,并在经营许可证或备案文件中专项注明;不符合条件的,不予批准或者不予备案,书面通知申请人并说明理由。

  第八条 未经专项批准或者专项备案手续,任何单位或者个人不得擅自开展电子公告服务。

  第九条 任何人不得在电子公告服务系统中发布含有下列内容之一的信息:
  (一)反对宪法所确定的基本原则的;
  (二)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
  (三)损害国家荣誉和利益的;
  (四)煽动民族仇恨、民族歧视,破坏民族团结的;
  (五)破坏国家宗教政策,宣扬邪教和封建迷信的;
  (六)散布谣言,扰乱社会秩序,破坏社会稳定的;
  (七)散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
  (八)侮辱或者诽谤他人,侵害他人合法权益的;
  (九)含有法律、行政法规禁止的其他内容的。

  第十条 电子公告服务提供者应当在电子公告服务系统的显著位置刊载经营许可证编号或者备案编号、电子公告服务规则,并提示上网用户发布信息需要承担的法律责任。

  第十一条 电子公告服务提供者应当按照经批准或者备案的类别和栏目提供服务,不得超出类别或者另设栏目提供服务。

  第十二条 电子公告服务提供者应当对上网用户的个人信息保密,未经上网用户同意不得向他人泄露,但法律另有规定的除外。
  第十三条 电子公告服务提供者发现其电子公告服务系统中出现明显属于本办法第九条所列的信息内容之一的,应当立即删除,保存有关记录,并向国家有关机关报告。

  第十四条 电子公告服务提供者应当记录在电子公告服务系统中发布的信息内容及其发布时间、互联网地址或者域名。记录备份应当保存60日,并在国家有关机关依法查询时,予以提供。

  第十五条 互联网接入服务提供者应当记录上网用户的上网时间、用户账号、互联网地址或者域名、主叫电话号码等信息,记录备份应当保存60日,并在国家有关机关依法查询时,予以提供。

  第十六条 违反本规定第八条、第十一条的规定,擅自开展电子公告服务或者超出经批准或者备案的类别、栏目提供电子公告服务的,依据《互联网信息服务管理办法》第十九条的规定处罚。

  第十七条 在电子公告服务系统中发布本规定第九条规定的信息内容之一的,依据《互联网信息服务管理办法》第二十条的规定处罚。

  第十八条 违反本规定第十条的规定,未刊载经营许可证编号或者备案编号、未刊载电子公告服务规则或者未向上网用户作发布信息需要承担法律责任提示的,依据《互联网信息服务管理办法》第二十二条的规定处罚。

  第十九条 违反本规定第十二条的规定,未经上网用户同意,向他人非法泄露上网用户个人信息的,由省、自治区、直辖市电信管理机构责令改正;给上网用户造成损害或者损失的,依法承担法律责任。
  第二十条 未履行本规定第十三条、第十四条、第十五条规定的义务的,依据《互联网信息服务管理办法》第二十一条、第二十三条的规定处罚。

  第二十一条 在本规定施行以前已开展电子公告服务的,应当自本规定施行之日起60日内,按照本规定办理专项申请或者专项备案手续。

  第二十二条 本规定自发布之日起施行。