远见与创新

2007-03-31

创业还是去写字间?

创业很难。正因为难,所以也很值得。
  1. 技术:成为Hacker,技术上能够把东西做出来。领导一个Open Source的项目是很好的经历。而如果技术上没有优势,就做企业软件。企业软件不是技术公司,而关键是销售。而销售取决于投入的人力。
  2. 个人成熟度:迎难而上,承担责任。不再像一个小孩,轻松地以自己是一个小孩为由逃避。面对反对意见,不简单地屈服或者反抗,而是问为什么,进行分析。
  3. 独立思考:靠自己。不能等别人来告诉你怎么做。
  4. 决心:坚强的决心,是成功最好的保证。决心,从意愿的强烈程度可以看出来。至少要准备4年时间,全身心地投入。期间需要忍受无限的折磨。
  5. 期望:做最坏的打算,就是失败,一无所有,四年时间白费。然后做最严肃的努力。
  6. 想法:没有想法,就从自己的需求出发找想法。做的一定要是人们想用的。先不论商业模式。大公司收购通常基于战略原因,而不是因为现在就已经赚钱了。
  7. 合作伙伴:一定要找人和你一起干。需要和他一起干一段时间来决定是否和他一起干。
  8. 家庭:如果有家庭,可以先做咨询,维持收入。或加入别人,减少工作量和风险。
参考:Why to Not Not Start a Startup

标签:

2007-03-30

喻权域,于丹

在我看来,喻权域的《汉奸言论惩治法》很有趣,也有一定价值。





从个人层面上来说,这件超出人们常理预测、似乎可笑的事情反映出喻权域个性的天真和率直,甚至有些可爱。提案的问题只是反映了他知识结构和认知的缺陷,却不能掩盖他试图改善这个世界良心的良好用心。当然他的这个提案是不可能通过的,因为有更多有知识有见识的人在人大呆着。





而从立法来说,他是在试图用最正确的方法(立法)来做他心里认为作为一个中国人最应该做的一件事情。所以他没有做错任何事。如果喻权域是要有意策划这场闹剧以立法来炒作以达到他提升自己政治地位或者获得权利的目的,我想他就值得我们谴责。但事实上他的做法却降低了他的名声,所以我更倾向于相信喻权域的胸无城府。





在我看来,喻权域只是体现了愤青的立法诉求而已。我们当然知道愤青的立法诉求也需要尊重。而承认愤青也有立法诉求,说明时代在进步,我们在朝依法治国的路上又进了一步。你知道,像喻权域一样,大多数愤青是天真和率直,甚至有些可爱的。





而如果每一个人大代表都能有喻权域的立法意识和主动承担责任的精神,随着时间的推移,立法的质量自然会提高。而现在最大的问题是,现在存在的很多潜在的控制这个世界的潜规则、潜意识不能被这样公开地提出来辩论,很容易“被大张旗鼓、喊声震天地对某些事物进行声讨”。而另一方面,许多人大代表的声音被压制,少数代表的个人错误被当作一种笑话流传,客观上导致了人们对神圣立法的不尊重,这无疑不是个好事。





而对十博士联名抵制于丹这件事情上,我看到权力是站于丹这一边的。主流权力,包括中宣部,国家教委、社科院对于丹的听之任之的态度,是因为于丹的行为确实有助于和谐社会的建设





出来反对的是一群博士、学生。很难相信他们出来反对一个正在流行的教授是为了个人利益。相比来说,于丹以CCTV为后台,而且声名远扬,比他们更加强势。他们根本没有胜利的把握。(如果他们在玩政治,或者他们自认为自己在玩政治的话,我想告诉他们只是在玩自己。)相反,我更愿意相信他们“凭良心办事”的宣称和良好的维护学术严谨性的本意。







但他们确实找错了挑战的对象。他们没有认识到,学术超女虽然学术,本质上却是超女。她的价值在于普及道德知识,符合当今和谐社会建设的主流。而他们却缘木求鱼,自寻烦恼。这反映了他们太迂腐。当然迂腐是所有真正孔子学徒的特点,这倒是说明他们是真正学进去了。:)而于丹,我曾经在书店翻过于丹的书,最后没有买,这已经表明了我的态度。正像于丹自己将自己与“麦当劳和肯德基”相比一样,她确实没有值得我们在学术上尊敬的理由。

标签:

2007-03-27

秦风.无衣

兄弟,你说你没有衣服吗?
来,披上我的斗篷!
大军马上就要出发,让我磨快长矛。
和你一起,同仇敌忾!

兄弟,你说你没有衣服吗?
来,穿上我的汗衫!
大军马上就要出发,让我擦好刀枪!
和你一起,血战到底!!

兄弟,你说你没有衣服吗?
来,围上我的战袍!
大军马上就要出发,让我理好甲胄!
和你一起,生死与共!!!

秦襄公七年,秦军唱着这首歌,助周王室反攻戎族的全面入侵,获得封侯。

鲁定公四年,面对靠着秦廷墙壁滴水不进,连哭七天七夜求援的楚人申包胥,秦哀公禁不住念出了这首歌。然后秦军倾巢出动,大败吴兵,拯救了楚国。

想象当这首歌被数十万秦军将士呼嚎而出的场面,真是让人神往。由这首战歌激励的战士,世上又有什么力量可以阻挡?不可遏止的愤怒,迫切复仇的决心,无数兄弟磨刀擦枪、舞戈挥戟、同声响应的同仇敌忾,将整个秦军军团复活在眼前。这样的诗句,确实“可以歌,可以舞,堪称激动人心的活剧!”

原文:

岂曰无衣?与子同袍①。王于兴师②,修我戈矛。与子同仇③!
岂曰无衣?与子同泽④。王于兴师,修我矛戟。与子偕作⑤!
岂曰无衣?与子同裳⑥。王于兴师,修我甲兵⑦。与子偕行⑧!

①袍:长袍,即今之斗篷。
②王:指周王,秦国出兵以周天子之命为号召。一说指秦君。
③同仇:共同对敌。
④泽:通"襗",内衣,如今之汗衫。
⑤作:起。
⑥裳:下衣,此指战裙。
⑦甲兵:铠甲与兵器。
⑧行:往。

参考材料

  1. 秦风.无衣的含义

标签:

2007-03-23

剧终

秦始皇后期的国家已经到了民不聊生、天怒人怨的地步,这是《秦始皇》片中最后给出的秦朝迅速灭亡的原因。而三联生活给出了更多。

先来看秦朝兴盛的原因。

第一、秦朝是个法治国家。

一个国家的法治来自两点:一、完善的法律制定,二、严格的法律执行。

秦朝的法治始于商鞅。商鞅的基本思路是:"分定而无制,不可,故立禁。禁立而莫之司,不可,故立官。官设而莫之一,不可,故立君",君主实行专制,"以赏禁,以刑劝,求过不求善,藉刑以去刑"。

秦朝有着完善的法律。其法律详尽的程度从下面的例子便可见一斑:在其中一项法律中,秦法规定了每个士兵、农民、官吏的职责:仓库漏水导致粮食霉烂,损失在百石以下,主管官员"仓啬夫"就要受到申斥,百石到千石之内,就要缴纳一副甲胄作为罚款。每年年底,所养耕牛能够肥壮的农业管理官员"田啬夫"将得到酒一壶,干肉十条,并免除下属养牛人30天徭役。每个制造兵器的工匠和监督者,都必须把名字和职务镌刻在自己的作品上,如果出现质量问题,则要受到逐级追究。

用吴琪在三联生活《从秦简看法治帝国的细密之网》一文中的话说:"秦代法、律、令较完善,"奸邪不容,皆务贞良",于是秦代官吏"慎遵职守",凡事"细大尽力,莫敢怠荒"。秦律调整的范围遍及国家、社会和家庭各个领域,达到了十分细密、详备的程度,可以说从生产到生活,从个人到牛马,从国家到家庭,基本实现了"治道运行,诸产得宜,皆有法式"。

1975 年由云梦出土的秦简经专家研究整理,共归纳为《编年纪》、《南郡守腾文书》、《秦律十八种》、《效率》、《秦律杂抄》、《法律答问》、《治狱程式》、《为吏之道》等8种。内容包括统一战争,法律制度、中央集权制度,统一度量衡和统一货币等各个方面的内容。单单从这些类别的名称就可以发现,它们并不是官僚制度下拖沓冗余而毫无内容的形式化公文,而是说明正确治理国家所需要掌握的技术、政策和方法。秦朝,就是通过这些完善的法律规范,保证整个国家在各个层面的高效运转。

另一方面,秦代执法甚严。吴琪引用曾参与云梦秦简发掘和研究的武汉大学教授陈抗生的话说:"秦代有法可依、执法甚严,秦法于吏于民都有绝对权威"。 而研究湖南湘西古城里耶出土秦简的古文献专家张春龙在研究了湘西秦简后说,"秦时官吏认真负责的工作态度让今人感叹。"这批湘西秦简总共3.6万多枚,文字达数十万字,全部是秦代洞庭郡迁陵县的官署档案,详细记录了当时县级官员对该县的治理情况。

值得一提的是,云梦秦简的拥有人"喜",作为秦朝县级的法律官员,在死的时候,不选择金银珠宝,而只选择了这些法简和他一起同眠地下,说明他对这些简的感情。也许,为了这些简,他呕心沥血,即使死,也难以割舍。有这样兢业、喜爱自己职责的下级官员,秦律的执行当然会非常理想。

第二、秦朝有着一个运作高效的中央集权政府。

秦朝去分封,设郡县。它在中国历史上首创的郡县制在严密的法治保证下,为秦朝实现了"天下之事无小大,皆决于上"的高度且高效的中央集权统治,使中央政府的政策能够令行禁止,十分有利于秦朝的战争动员、国家管理和集中力量办大事。

李鸿谷在同期三联生活的《秦的国家方式》一文中,就对秦帝国的政府制度给予了高度评价。他说:"那套地方/中央/元首制度,至今仍值得细察--2000多年后,放开眼界与视界,从另一个方向来观察秦与秦制,美国汉学家顾立雅(H.G.Creel)的评论是,"还是早在基督教时代开始之时,中华帝国就已经显示了诸多与20世纪的超级国家的类似之处了","在由中央集权的官僚政府加以管理之上,中国远远超过了罗马帝国,并且超过了近代以前所有可比的国家"。因此价值,谭嗣同感叹,"两千年之政秦政也"。"

李鸿谷更进一步指出,对郡县制,"秦国真正有价值的贡献在于将其技术化精细化,其缜密程度,才是它的创造性所在。"他举例说:"秦的政治制度的技术核心是"三三制"。中央官制:三公九卿。三公,丞相(行政)、国尉(军事)、御史大夫(监督)。依此结构,郡制:郡守(太守)、郡尉、监御史。县制:县令、县丞、县尉。粗看起来,这套制度并无出奇之处,但如果稍稍进入细部,结合出土的秦简,仅以县之下的乡官为例--分别为:亭长、三老、有秩、啬夫、游徼、亭父、求盗、里宰、里监门、里正与伍老、田典、牛长--其职责精细,井然有序。而云梦出土秦简里的那部《为吏之道》,明确规定:吏有五善,一曰中信敬上;二曰精廉毋谤; 三曰举事审当;四曰喜为善行;五曰恭敬多让。吏有五失……一曰不察所亲,不察所亲则怨数至;二曰不知所使,不知所使则以权衡求利;三曰兴事不当,兴事不当则民异指;四曰善言惰行,则士毋可比;五曰非上,身及于死。秦由百姓而至丞相,被严密有序地织进组织网络之中。而这种种细密的规定条文,即使以今天现实社会的组织方式来观察,也不能不感叹其复杂与缜密。"

秦国的这套组织严密的社会组织统治结构,使其统治十分高效。超级帝国由此产生。

秦国以上两点执行下来取得的效果,李鸿谷提到一个例子,由此可见一斑。《战国策·秦策五》中记录了司空马与赵王的对话:"司空马说赵王曰:"……请为大王设秦、赵之战,而亲观其孰胜。赵孰与秦大?"曰:"不如。" "民孰与之众?"曰:"不如。""金钱粟孰与之富?"曰:"不如。""国孰与之治?"曰:"不如。""相孰与之贤?"曰:"不如。""将孰与之武?"曰: "不如。""律令孰与之明?"曰:"不如。"司空马曰:"然则大王之国,百举而无及秦者,大王之国亡。""当时的情形,秦朝得天下,已是注定的事。

而这样一个超级帝国,秦始皇死后一年,便开始天下大乱。数年后帝国便覆亡了。原因何在?

粗看起来,有以下一些原因

第一、赵高

秦帝国的灭亡,赵高当然功不可没。以电视中的说法,秦始皇以赵武灵王过早立下太子,最后被夺权,落得个凄惨而死的结局为教训,不立太子,而在最后关头,被赵高改诏,直接导致了赵高专权,天怒人怨,使帝国灭亡。对赵高这种有能力、有野心、又有办法的人物,秦始皇高估了自己的驾驭能力。

第二、性格

就秦始皇个人的性格来说,太刚烈,毫无自省之心。符合五行中水德的特点:"阴……主刑杀,刚毅戾深,事皆决于法"。这使他在与扶苏和天下儒生的对立中一意孤行,在为秦帝国灭亡铺路的道理上越走越远。

相比之下,汉武帝就高明些,他有自省心态。他一方面承认,是攻打匈奴的战争成就了汉政权的强大,另一方面也清楚地认识到继任者不能延续他的政策,否则下场会和秦朝一样。他也一生迷恋长生不老术,而在晚年终于醒悟,在从山东回程中看到农民耕作,自己也下田劳动,并且颁发《罪己诏》,向天下表达自己的醒悟。

第三、暴政

这一点被自秦以来数千年的主流意识形态所认同,也是一个容易看到的原因。

秦帝国的暴政来自于秦朝的重刑主义。吴琪引陈抗生的见解认为,这应该归功于李斯。他说:李斯"强调深督轻罪。他认为君主只有使用烦苛的刑罚来监督臣民,才能行使自己的绝对权威,就没有人敢欺君犯上了。""在李斯看来,"商君之法,刑弃灰于街者。夫弃灰,薄罪也,而被刑,重罚也。彼为明主而能深督轻罪。夫罪轻且督深,而况有重罪乎?故民不敢犯也。"

然而,暴政只是表象。秦始皇难道不知道暴政的后果,或者傻到明知暴政的后果而火中取栗?在这一点上,电视剧《秦始皇》表现的是对的,它认为当秦始皇东巡发现时一切已经晚了,而且赵高、李斯之流还在依旧粉饰太平。

所以暴政暴露出的问题根源在于两个方面,一、制度缺陷,二、极权政治本身的属性。这才是根本性的问题。

在制度层面,自秦帝国以来的地方/中央/元首依次织成的专制官僚体制,虽然有效,也有关键的缺陷。李鸿谷引述阎步克的话说这个问题是:"小农经济的天然脆弱性,使这个庞大的专制官僚机器必须在一个难以掌握的平衡点上运转,既要保证资源的敛取,又不能使剥削超过限度,否则千万小农的破产终将造成严重动乱。然而这一体制的结构,却使之难以由自身来矫正政策的偏差。文吏固然训练有素,他们却只具备执行功能,由严刑暴敛引起的动乱反馈至中央,新的指令仍是严刑暴敛,并在无异议的情况之下被再次贯彻……"。这在直到目前的千年中国的历史中都能够看到这一缺陷的影响。

对这一点,大家应该不陌生吧。我小时候所在的镇上市场的肉价曾经在一小时之内降低了一半,原因是在这一小时内有省里的官员来视察。而其它类似的事情在祖国大地是太多太多了。而如果没有《中国农民调查》这样的书出现,现在的三农问题又会怎样?好在它出现了,虽然随后又看不见了。

而朱步冲在同期三联的《统一的内驱力与第一帝国》中还提到平衡君权和意识形态上的差异问题。他说:"法家苦心孤诣制定的制度中,唯独缺少了官僚机构对于君权的制衡,因此对统治中枢的决策毫无折冲缓和。秦统一后,人口大约2000万,被征发造宫室坟墓 150万人,驻守五岭50万人,蒙恬所率防匈奴之兵30万人,修筑长城大约50万人,总数约占全国总人口的15%,如此大规模急促地动用人力资源,造成了社会矛盾的骤然激化,然而秦帝国百年来统治的惯性,只能一味地用严刑峻法加以压制,造成了"赭衣半道,群盗满山"的局面。不仅如此,秦国官吏政治缺乏自我调节能力,对传统"礼治"的压抑,使得它遭遇来自关东六国遗民强烈的抵制。在公元前4世纪中叶,几乎与秦孝公任用商鞅、使得秦走上法家政治之路的同时,齐威王却宣布臣子中能当面揭露自己过错的,给以上赏,上书劝谏者受中赏。而在公共场所发表政见,能最终被国君听闻者受下赏,齐国的城市居民"国人"可以与国君签订盟约,干预国政。足见秦与六国文化意识形态上的差异。《史记·儒林列传》中记载,陈胜吴广起义后,鲁国的儒生纷纷携带礼器前往投奔,孔子的九世孙孔甲更担任了陈胜政权的博士。秦国这种经过长期精密建构的法家文吏政治,尽管有很高的行政效率,然而它的单一狭窄性无法应付统一后关东六国复杂的社会文化形态并做出自我调解,这正是为何它既能"鲸吞六合",而又"二世而亡"的关键。"

在政治层面,秦帝国所代表的极权政治已经被证明不具有长久的性质。对这一点,李鸿谷引述徐复观先生在他的《两汉思想史》里的话说:"法家政治,是以臣民为人君的工具,以富强为人君的唯一目标,而以刑罚为达到上述两点的唯一手段的政治。这是经过长期精密构造出来的古典的极权政治。任何极权政治的初期,都有很高的行政效率;但违反人道精神,不能做立国的长治久安之计。秦所以能吞并六国,但又二世而亡,皆可于此求得解答。"

以上两个层面的检讨,揭示了现在谈秦始皇依旧具有难得的意义。法治社会在当今中国已被作为主流意识为全社会所接受,并面临着传统势力极端强大的阻扰。面对这种阻扰,强力政治和极端法治是最容易被寄予希望来推行改革的力量,似乎也是现实中的唯一途径。然而,秦始皇的悲剧告诉我们,这样做不会使国家长治久安。

对现在谈秦始皇,李鸿谷在同期三联《皇帝的诞生秦一统与权力至高无上》一文中引用了思想史专家葛兆光的话说明:"在一个习惯的知识、思想与信仰世界在根本上受到威胁的时候,溯史寻根,透过历史的重组来界定个人、民族、政权的认同,常常是惯用的手段"。我们正在这样的一个时候。

他说:"历史的兴趣,它的基础是现实背景。按此理路,过去的一个世纪,或者最具标志性的是,"五四"与"打倒孔家店"。这同样也是检讨秦与秦始皇的背景,抛开郭沫若"隐射"史学不论,他的《十批判书》也在此结构之中。"。过去一个世纪中国的无数风风雨雨,和千年前的秦始皇、儒家、法家、都有着极端隐秘而紧密的联系。

从秦朝制度的延续性来说,秦始皇确实是中国两千年来国家制度的"始皇"。而为了避免重蹈秦朝的覆辙,各朝各代的政治家都做了大量的功课。结果如何,历史自有公道。

汉朝,亲睹秦朝的灭亡,做功课首当其冲,也贡献最大。刘邦等人,在分析了秦即兴即灭的原因后得到如下结论:秦只有法制,没有意识形态,缺乏思想和精神上的一统,因此并没有实现全方位的国家统一。秦虽坑儒数百,但实际上百家各自的自由思想依旧存在。法家只是在政治上的主流,并非公认的思想权威。

然后汉朝首先用黄老之说安定民心,然后汉武帝独尊儒术完成了这个思想和精神上的统一。自汉武帝后,儒家成为中国唯一的、统一管理国家全部政治生活、伦理、文化甚至日常生活的指导性意识形态。

儒家是什么。儒家是保守的象征。从李长之《孔子的故事》中可以看出,孔子是一个试图通过崇古、复古来建立社会秩序、内心秩序,以获得内心安宁、社会安宁的人。他提出"主倡而臣和,主先而臣随"、三纲五常等等各项规范,试图限定世人的行为以及内心。

所有的人都知道孔子复古的那一套在现实社会生活中没有任何实用意义。秦始皇知道这点,因此他对其嗤之以鼻,并以坑儒来作为回应。而汉朝的皇帝则不这样极端。相反,他利用儒家对于各种规范的追求来达到一统天下人心的目的,而内里却依旧利用法家来治理国家,最后形成了儒表法体的中国政治格局。

对儒表法体,朱步冲特别提到荀子。他说:"荀子主张以"礼"为治之始,而"法"为治之端,统治阶级由掌握礼乐、仁义的士大夫和从事技术职能的官吏组成。算是汉代以降,中国历代王朝"儒表法里"统治意识形态的先驱人物,所以两千年后,谭嗣同才会发出"两千年来之学,荀学也"的感叹。"荀子的《富国》、《君道》等篇旨在治道政略,论吏治选官有《臣道》、《致士》,关于兵制军略,则有《议兵》,看来都值得一读。

为了提高儒家的地位,平定天下人心,汉武帝做了一件比坑儒更狠的事:他将儒学变成经学。经学,就是将儒学变为儒学"经典"的学问。从此,研读儒家经典被作为社会的唯一进身之阶。读书是为了做官,只与儒家经典相关,而和自由思想无缘。这种将学问只为政治服务的做法的直接后果是,天下儒生从此被全体坑杀了头脑,而变成儒家经典的奴隶。而经典的解读被各怀心机的人们随意利用,往往依附权力或甘于被权力利用,以获得一时的话语权威。学问,变成权力斗争的一部分。

汉武帝和他的臣僚们的这一招可谓影响深远,至今依旧风韵犹存。2007年3月,前人民大学政治系主任张鸣教授便直言当今教育界"权力对学术的过度干涉和操纵",而"高校已经成为一个官场"。

正如李鸿谷所说:"有趣的事实在于,尚不足百年,"打倒孔家店"变成孔子学院走向世界,这其间的颠倒反覆,同样也是秦始皇兴趣的现实背景--无论研究者还是电视剧的编剧们,或许都无可逃脱这一现实。即使如此,仍然有陈言相累与别开新面的分别。"

当代中国的出路,不在重推儒学国学,因为无论儒家被粉饰得如何如何,它永远是保守的和与现实不相符的。

当代中国的出路,也不在以强有力的中央集权保证吏治的有效和政令的畅通,因为这些只能有短期的效果,但长期里却会导致下情难以上达而带来更灾难性的后果。

当代中国的出路,也不在短期地大量立法和司法独立以保证真正的法治,这些都只是表象,如果关键的政治制度得不到改革,法治永远只是空中楼阁,无法实现。

当代中国的出路到底在哪,在坚定不移地实施市场经济、顽强地进行宪政改革、注意技巧同时又要有气魄的政治体制改革和有步骤地还政于民。逆水行舟,不进则退。这需要大智慧,会有大反复。无数的志士仁人,请前仆后继吧。

远见和创新,在这里面会发挥最大的作用。

参考文献:

      1.《看《汉武大帝》,论大汉遗风》 《三联生活》

      2.皇帝的诞生 秦一统与权力至高无上 《三联生活》

      3.大学已衙门化、黑社会化、帮派化, 张鸣,腾讯网

      4.人大国关院长公开信称原系主任学术人品有问题,腾讯网

标签:

2007-03-20

四个月的宝宝

进入四个月的宝宝是崭新的。进入四个月的爸爸妈妈是最快乐的。


这么快乐是因为:宝宝会朝你笑了!


前面几月,她常用的表达方式是哭。她用哭来表明她需要帮助。不哭的时候,她也偶尔在手舞足蹈的时候,露出笑的样子,却是自娱自乐的。


到第四个月,就是每一个做父母的人的节日了。在这个月里,宝宝开始朝你咧嘴笑。对于宝宝的父母来说,这是世界上最最美好的事情。


看着她的眼睛,向她眨眨眼,撇撇嘴,她就咧嘴笑了。笑得那么灿烂、发自内心、毫无修饰、清新、没有保留。这世界上没有比这种笑更美的笑了。


即使不逗她,就这样看着她,她也朝你咧嘴笑了。她的笑似乎要向你表明:她是知道你喜欢她的,而她也喜欢你。这种出于天性的笑,让你知道,她明白,你是最爱她的人,而她也爱你。这种感情的传递,立刻将你送到天上。世界上没有比这种感觉更快乐的了。


这是一种魔力,霎那间就能将你的心融化,将一切生活的疲惫融化。天地之间,只存在着阳光的温暖,圣歌的温馨。一切都那么开朗,生活中充满着自在。


只有四个月的宝宝,才能将这种天上的快乐带到我的身旁。看着她咧嘴一笑,我是如此轻易地被融化。

标签:

2007-03-15

秦始皇

好的电视剧,编剧、导演和演员三者缺一不可。这部片子在这三个方面都对得起观众。剧本有张有弛,导演对全片有着良好的把握,而演员们的表演,各具特色,使那个令人好奇的年代和那些令人好奇的人物跃然于屏幕之上。


吕不韦令人佩服,这样的一位父亲令人匪夷所思,几近残酷,但也是人生的一笔宝贵财富。他成功地塑造了秦始皇。黎姜,有见识,不可多得。王翦,拿得住、见识远,总是有着清醒的认识,这样才对得起自己的60万大军。荆轲,如果生在当代,真想和他成为兄弟。风萧萧兮易水寒,读在纸面上没有什么感觉,表现在电视上却催人泪下。赵高,一个人不拘泥于自己的出身和地位,只要肯用功,会有多么大的能量,而人心又是多么地深不可测。李斯,才高八斗,有时候又是那么的可笑。


秦始皇表现出来的驾驭一切的君王气概,令人印象深刻。他的这种能量即来自于吕不韦调教出来的、对政治、权力的清楚认识和娴熟技巧,也来自于他自身顽强的自我控制能力、旁若无人的坚定自信、极端坚韧的性格和几近残忍的冷酷无情,更来自于他对自己天下一统信念的执着和不懈追求。他的所作所为证明:一个有能力、有信念、又有方法的人能够成就他的事业,而要成就事业,这三者缺一不可。


他也让我想起马基雅维里在《君王论》一书中对理想君王的描述,在这本试图指导每一个期望建立自己霸业的人的书中,马基雅维里认为一个理想的君王应该是"狮子与狐狸"的完美结合。片中的秦始皇让我想起这个要求,至少他正在被表现为这样一个完美的结合。从这个方面来说,这部电影可以起到一点实习对照的作用,为《君王论》谈及的原则提供一个可以参照的现身说法。


已经看到第23集了,一直到这时,秦始皇都是异常成功的。他神奇地避免了犯错,而他的对手却犯错频频,所以他能够将他们消灭。正是因为这样,越往后看,对秦朝最后为何如此迅速地走向灭亡的好奇之心也就越来越强烈。相对于秦始皇的成功,这是一个更加吸引人的问题,其中一定含有一些普世的奥秘。目前看来,也许秦帝国的迅速灭亡和秦始皇的刚烈、目中无人的性格很有关系。他具有直达目的的手段、勇气和力量、却没有仲父所代表的深度,所以他在后面一定犯了某些致命的错误,这都是些什么错误,真是让人期待。

标签:

2007-03-12

分布式系统 - 0 OS


Index



  • Overview

  • File system

  • Process Management

  • CPU Scheduling

  • Memory Mangement

  • I/O System

  • Socket

  • Ubuntu Linux Cmd


Overview


Simplicity: the most important characteristics.


File System


The most important role of the system



  • Block and Fragments

  • File Type

  • i-number, i-list, i-node

  • File structure

  • Mount table

  • Layout

  • Free BSD File System API


Block and Fragments

Hardware disk sector is usually 512 bytes.

4.2BSD use two block sizes for one files, a large block and a smaller fragment. Size of block:fragment is 8:1. Min block size is 4K. Generally, 8K:1K and 4K:0.5K are seperately for big or small file environment.

File types:



  • ordinary disk files

  • dir

  • special files


File existes independently of dir. Dir is use to map file name and file. Dir entry includes file name <-> i-number. In FreeBSD, length of file name is variable up to 255 bytes, so dir entry also include the entry length information.

But dir must appear as an entity in exactly one other dir except root, so form a strictly rooted tree.


i-number, i-list, i-node


i-number is index of i-list. i-list stored in a known part of device. i-list stores i-node.

Info saved in i-node includes: file owner's user id/group id, protection bits, physical disk addr (normal file: 13 device addr, 1-4 level 128 512byte block addressing (In FreeBSD, there are 15 device addr); special file: device name: device type + device number), file size, time of creation, last use and modification, number of links to the file, file type, etc.

File structure


Store file's device, i-number, read/write pointer. File structure table exites in system space, shared by processes. Per process, there is a process open files table in system space, key is the file descriptor (counter), stores file structure table index.


Mount table


Maintain mapping device name and i-number of the mount point and device numer of the mounted device file. Operated by mount(). In FreeBSD, a bit in i-node indicates the i-node has a file system mounted on it.


Misc


Each dir always has at least two entries. "." and "..".

Hard link is just same as the real file.


No link may exist between one file system and other mounted file system.

In FreeBSD, symbolic link infinite loop is prevented by counting the number of symbolic links encoutered during path-name search. Max value is 8.

set-user-ID bit: tenth protection bit of file.

create() truncate an existed file to zero length and open the file for writing.

No lock in file system. It is unnecessary and unsufficient.

Reading and writing on one file are sequential, i.e. next I/O shall continue from the seek position of last I/O.

when read return n = 0, file end reached.

lseek return the actual offset from the file beginning.


Layout


Each file system's first sector is the boot block, which possibly containing a primary bootstroop program, which may call a 2nd bootstap program residing in the next 7.5K.


Then ther is superblock. Superblock contains static parameters of the file system, e.g. size, block/fragment size, allocation parameters, free block list. In FreeBSD, for speed, superblock is kept in memory and sync to disk every 30s.


4.3BSD introduces cylinder group to allow allocation localization. Each cylinder group has same superblock for fault-tolerence, cylinder block including free data block and free inodes bit map and allocation statistics, inode array and data blocks.


i-node array immediately following superblock. It is also kept in memory for speed.


Free BSD File System API

creat, open, read, write, close, unlink, trunc, lseek, dup, dup2, fcntl, ioctl, stat, rename, chmod, chown, link, symlink,

dir has another set of system calls, mkdir, rmdir, cd, opendir, readdir, closedir, etc.


Process Management



  • Image & Process

  • API

  • Signals

  • Process Group (job)

  • PCB


Image & Process

image is an execution environment, including memory image, register value, open files, current dir, etc. Process is the execution of image.


Sys data structure and user space consists the swappable process image.


API


fork() make two same processes with same copies of memory image and opened files list. Parent and child is differentiated by the return value: 0 is child, for parent, it is the process id of the child process.

pipe() can be passed to child with fork() for communicate among these processes. Pipe size is usually 4K bytes.

execute/execve() replaces process code and data segments with the executed file, but open files list, current dir, pipes are not changed.

wait() wait the first occurence of exit() of child processes.

In Free BSD, API includes: fork, execve(replace process memory space with a new program), exit, wait, wait3(allow parent collect performance statistics about the child), getuid, geteudi, getgid, getegid, getgroups. also include other Info Manipulation related API: getitimer, setitimer, gettimeofday, settimeofday, getpid, getgid, gethosname.

Signals

20 kinds. interrupt - SIGINT, quit - SIGQUIT (generate a core), SIGILL (illegel instruction), SIGSEGV (access illegal memory space).

SIGKILL can not be ignored or caught by a signal handler. Others can be.

No priority among signals. Multiple same signals shall trigger handler only one time.

Other signaling: SIGWINCH-window change size,

kill() can generate signal.

Process Group (job)

Child inherits process group propriety from parent. setpgrg() can change group.

Processes in a group can communicate by pipe. Signals can be sent to all member of a group, e.g. SIGTTIN, SIGTTOU, SIGCONT, SIGSTOP.


PCB

Process Structure


Process structure is refered when decide process swap in/out. includes pid, priority, pointers to parent and youngest living child, pointer to text strucutre, pointer to page tables, and pointers to other control blocks. Scheduler maintains the ready queue as a doubly linked list of process structure. It is always in memory.


Text Structure


Text structure incudes page table when swap out and pointer to the process list that sharing this text segment. It is always in memory.

Page tables map process virtual memory to physical memory.

System Data Structure


user structure or u structure is mapped read-only in process virtual address space, so it is readable by user process, but only writeable by kernel. When process is swapped in, the content is useful, which includes a copy of PCB which stores a lot of information, including process's general registers, stack pointer, program counter, page-table base registers. system call parameters and return values, associated uid and gid, signals, timer, quota structure, current dir, and open files table.

When a system call is made, process enters into system mode from user mode. In system mode, a kernel stack is used instead of user stack. Kernel stake follows u structure and compose the system data structure for the process.


User Space

User memory part of an image includes three segments, text, data, stack. Stack grows downward from the highest address. text is usually read-only, but debugger can write it for insertion of breakpoint.


fork() & vfork()


fork() copy the u structure. so keep the open files table, etc. info, but fork() creates a new page table, allocate new memory for data and stack segment and copy them from parent process.


vfork() just use parent's page table and avoids the copy, in this case, parent shall suspend and wait child call execve or terminate so that it don't change the memory that child needs. and generally child shall also call execve immediately to change its virtual addr space completely. Note child also shoudn't change memory during this interval.

CPU Scheduling

Larger priority number means lower priority.

Disk I/O and other key task has priority less than "pzero" and cannot be killed by signals. nice() can change user process priority.

Process aging is used.

round-robin reschedule every 0.1s and recompute priority every 1s.

Memory Mangement

Demand paging is used. Page size is selected to optimally align processor's L1 and L2 caches.

Page is locked during page fetching for avoding page replacement.

Second chance page replacement algorithm: sweep non kernel main memory map, check page table entry of the frame. If entry is invalid, add it to free list, otherwise made it invalid and relaimable, so have 2nd chance. BSD Tahoe use reference bit for this goal.

It is configurable that min data pages and max used memory of a process.

Kernel check the free frames threshold (1/4 of total memory) several time per second to see if need awaken pagedaemon process (process 2). (swapper is process 0 and init is process 1). pagedaemon can stop sweep when free frames threshold is reached again. It is also configurable to control it not use more than 10% of CPU.

Memory also affects process schedule. If load is high, process's free memory is low and average available memory is low, the process shall be swapped out.

Minfree pages must be kept for interrupt processing.


I/O System


I/O sys consists of buffer cache sys, general device driver, and specific HW driver.


Three kinds: block devices(disk/tape, 512bytes/block, using block buffer cache, which size is usually from 1K to 8K, need align the paging-cluster size, usually 1K bytes), character devices(terminal, memroy, etc. note terminal or like devices use C-lists buffer for character buffer, which is linked list with size smaller than block buffer cache, usually 28bytes), socket interface.


Buffer cache consists of many buffer headers, which includes corresponding memory pointer, device number and device block number.


Empty buffer's header are organized by three lists, LRU(Least Recently Used) list, AGE list(not used or invalid), EMPTY list(no memory associated).


When read/write, cache uses empty buffer from AGE list firstly. If AGE list is empty, sync a buffer in LRU list to disk and then use it. Write is also done periodically.


EMPTY list is used for buffer of multiple, smaller blocks in one 8K memory block.


Dir block are written synchronously for avoding chaos.


Raw device interface simply maintain a queue of pending transfer in disk driver. Each record include r/w indicator, main memory addr(usually in 512byte increments), device addr(usually a disk sector addr) and transfer size(in sectors).


For C-lists device, read generally use a raw queue and another canonical queue. Only at the end of line, the end-of-line character shall trigger the data conversion from raw queue to cannonical queue and then send to user process. Raw mode skip this conversion and make program react to every keystroke.

Socket


shutdown() can terminate one direction of communication.


select() can be used to multiplex r/w of several file and/or socket.


Ubuntu Linux Cmd

make program > & errs

dpkg -l
/etc/apt/sources.list

apt-cache search
apt-cache show
sudo apt-get updates
sudo apt-get install

quota -u ubuntu
tail
zgrep
du -h . | sort -nr | less
df -h
baobab
sudo /sbin/hdparm /dev/hdc | grep dma
/etc/hdparm.conf
sudo dhclient
sudo lsmod
sudo mount /dev/cdrom -t iso9660 -r /cdrom
sudo eject
sudo crontab -e
sudo mount -a
top
ps ax
sudo fdisk -l
free -ml
iwconfig
lshal
lspci
lsusb
lshw
sudo deluser a -remove-home
man -k
man -f
sudo updatedb
sudo locate stdio.h
/etc/protocols
/etc/rpc
/etc/services
touch
make -n
gcc -E
gcc -c
gcc -g
indent


Reference:



  1. "The UNIX TimeSharing System*, D. M. Ritchie and K. Thompson, 1974

  2. appendix of Operating Systems Concepts book by Silberschatz, Galvin, and Gagne

  3. Linux Unleashed, Third Edition, Tim Parker, ISBN: 0672313723

  4. The Official Ubuntu Book, By Benjamin Mako Hill, Jono Bacon, Corey Burger, Jonathan Jesse, Ivan Krstic, Prentice Hall, August 11, 2006, ISBN-10: 0-13-243594-2, ISBN-13: 978-0-13-243594-9


标签:

2007-03-02

什么时候我才能。。。?

“什么时候我才能成为王上?”
“这要问你自己,当你心里真正有了天下,你就能成为王上”

赢政和吕不韦上面的对话其实可以扩展到任何关于追求、关于梦想的讨论。

“什么时候我才能成为父亲?”
“这要问你自己,当你心里真正有了这个孩子,你就能成为父亲”

“什么时候我才能成为专家?”
“这要问你自己,当你心里真正有了这个领域,你就能成为专家”

“什么时候我才能成为经理?”
“这要问你自己,当你心里真正有了这个部门,你就能成为经理”

“什么时候我才能成为老板?”
“这要问你自己,当你心里真正有了这个企业,你就能成为老板”

“什么时候我才能成为总理?”
“这要问你自己,当你心里真正有了这个国家,你就能成为总理”

想要成为什么,只需要在每一天的工作生活中,用心地去做、体会、学习。当心里真正有了,成为,只是一件水到渠成的事情。

标签: