wenjiang 的个人资料morning's blog照片日志列表更多 ![]() | 帮助 |
|
|
10月25日 80后做到了这些就成熟了每天11:00点前睡觉,每天7:30点前起床; 6月28日 I did not speak outFirst 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. C和C++的精髓之一是“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)。Herb在C++精髓的第二个表现形式上发现了这个更高层次的目的:一个对象不是一个真正的对象(因此也是不可用的),除非它被完全构造(意味着它的所有要素也都被完全构造了)。 看一下这个例子: struct X { A a; B b; C c; void f(); };
try { X x; x.f(); } catch (...) { }
这里,A、B和C是其它的类。假设x.a和x.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.c和x)。这将造成自相矛盾:一个死亡的对象是从来都没有产生过的。通过强迫构造函数抛异常,语言构造避免了这种矛盾。
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 Class或Pimpl的方法(“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过程(也就是构造a、b和c的过程)中的所有异常。更进一层,如果数据成员变了,X的用户不需要重新编译,因为X的头文件没有变化。 (反面问题:如果X::X捕获了一个异常,*implementation及至少子对象a/b/c中的一个没有完全构造。但是,包容类X的对象作为一个有效实体延续了生命期。这个X的部分构造的对象的存在违背C++精髓吗?) 许多C++的指导手册讨论这个方法,所以我不在这儿详述了。一个极其详细的讨论出现在Herb Sutter的著作《Exceptional C++》的Items26-30上。
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强的一员。兴奋得挤地铁都挂着公司的工牌;只用本公司出产的手机;出差时陶醉地呼吸酒店的空气,似乎氧离子都变成五星级…… 几乎是完美的,如果春节不回老家的话。
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
Speech API SDK SpeechSDK51.exe 做TTS用到的开发包 SpeechSDK51LangPack.exe 4月28日 优秀是一种习惯!4月26日 RFC8124月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)等就诞生在流亡期间。 被朋友“夺爱”的雨果 雨果沉浸在充满激情的创作之中,却冷落了自己的妻子阿黛尔。他的好朋友、文学评论家圣伯夫(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 五、不孝之人 人生在世,百善孝為先。然則,近世以來,人心趨於功利。濃郁親
4月20日 互联网电子公告服务管理规定中华人民共和国信息产业部令
第3号 《互联网电子公告服务管理规定》已经2000年10月8日第4次部务会议通过,现予发布,自发布之日起施行。 部 长:吴基传 二000年十月八日 互联网电子公告服务管理规定 第一条 为了加强对互联网电子公告服务(以下简称电子公告服务)的管理,规范电子公告信息发布行为,维护国家安全和社会稳定,保障公民、法人和其他组织的合法权益,根据《互联网信息服务管理办法》的规定,制定本规定。 第二条 在中华人民共和国境内开展电子公告服务和利用电子公告发布信息,适用本规定。 第四条 上网用户使用电子公告服务系统,应当遵守法律、法规,并对所发布的信息负责。 第五条 从事互联网信息服务,拟开展电子公告服务的,应当在向省、自治区、直辖市电信管理机构或者信息产业部申请经营性互联网信息服务许可或者办理非经营性互联网信息服务备案时,提出专项申请或者专项备案。 第六条 开展电子公告服务,除应当符合《互联网信息服务管理办法》规定的条件外,还应当具备下列条件: 第八条 未经专项批准或者专项备案手续,任何单位或者个人不得擅自开展电子公告服务。 第九条 任何人不得在电子公告服务系统中发布含有下列内容之一的信息: 第十条 电子公告服务提供者应当在电子公告服务系统的显著位置刊载经营许可证编号或者备案编号、电子公告服务规则,并提示上网用户发布信息需要承担的法律责任。 第十一条 电子公告服务提供者应当按照经批准或者备案的类别和栏目提供服务,不得超出类别或者另设栏目提供服务。 第十二条 电子公告服务提供者应当对上网用户的个人信息保密,未经上网用户同意不得向他人泄露,但法律另有规定的除外。 第十四条 电子公告服务提供者应当记录在电子公告服务系统中发布的信息内容及其发布时间、互联网地址或者域名。记录备份应当保存60日,并在国家有关机关依法查询时,予以提供。 第十五条 互联网接入服务提供者应当记录上网用户的上网时间、用户账号、互联网地址或者域名、主叫电话号码等信息,记录备份应当保存60日,并在国家有关机关依法查询时,予以提供。 第十六条 违反本规定第八条、第十一条的规定,擅自开展电子公告服务或者超出经批准或者备案的类别、栏目提供电子公告服务的,依据《互联网信息服务管理办法》第十九条的规定处罚。 第十七条 在电子公告服务系统中发布本规定第九条规定的信息内容之一的,依据《互联网信息服务管理办法》第二十条的规定处罚。 第十八条 违反本规定第十条的规定,未刊载经营许可证编号或者备案编号、未刊载电子公告服务规则或者未向上网用户作发布信息需要承担法律责任提示的,依据《互联网信息服务管理办法》第二十二条的规定处罚。 第十九条 违反本规定第十二条的规定,未经上网用户同意,向他人非法泄露上网用户个人信息的,由省、自治区、直辖市电信管理机构责令改正;给上网用户造成损害或者损失的,依法承担法律责任。 第二十一条 在本规定施行以前已开展电子公告服务的,应当自本规定施行之日起60日内,按照本规定办理专项申请或者专项备案手续。 第二十二条 本规定自发布之日起施行。 |
|
|