《駐京辦主任》

最近在看《駐京辦主任》,《駐京辦主任(一)》已經看完了,正在新浪讀書網上追《駐京辦主任(二)》,據説25號結束連載。

在北京真的到處都可以看到駐京辦事處,有一些駐京辦事處更是美食勝地。例如烏魯木齊駐京辦事處,我生日就是在那裏吃的呢。廣東駐京辦是吃廣東點心的好地方。但是駐京辦事處是一種比較灰色的機構,往往也是腐敗的重災區。

《駐京辦主任》就是以瀋陽作爲原型,以“慕馬大案”前後為時間寫的一部小説。嗯。還是寫得很不錯的。值得一看啊。

這個,原形還是很容易看出來的,例如要舉行花博會,例如一些民俗特點例如扭秧歌、二人轉、老重工業基地等綫索指向瀋陽,裏面的腐敗大案一個是市長,一個是常務副市長,和“慕馬大案”也吻合……我很奇怪爲什麽沒有被禁,不過雖然這本書揭露了不少問題,可是結局還是“積極向上”的,可能算在了主旋律書籍頭上吧……現在審計部不是也在批評駐京辦的“跑部錢進”麽……

不過我Google了一下,好象東莞並沒有設置駐京辦哦,真是奇跡。不過東莞這麽有錢,不需要去拉什麼撥款吧……

有趣的圖片

大家可以看看這張圖片有什麽問題……

看看,圖片裏面的MM到底是順時針轉還是逆時針轉?如果都從頭頂向下看的話……

看出來了麽?其實兩個方向都能看出來的哦。。。。

大家看看爲什麽呵呵。

看完《死亡筆記》了

是事先知道“夜神月最終失敗了”支持着我看下去的……

嗯。

如釋重負。

但是日本人的思維方式的確和我們很不同。從《死亡筆記》,從別的日本漫畫、動畫都可以感覺得到。《菊與刀》說日本人是“恥感文化”,說得真是入木三分啊。

嗯。不說了。總的來說,《死亡筆記》是個恐怖片。

L死了……

在看《死亡筆記》,萊姆終于以自己的生命為代價,殺死了L……

嗯,關於《死亡筆記》,其實有很多話要說,例如關於“正義”,關於法律……關於這點,已經有很多人說了。我也不必再説。

夜神老爸說得對:死亡筆記的力量才是罪惡。

對於夜神月,我沒有什麽好説的。在《射雕英雄傳》的結尾,洪七公说过:“不錯。老叫化一生殺過二百三十一人,這二百三十一人個個都是惡徒,若非貪官污吏、土豪惡霸,就是大奸巨惡、負義薄幸之輩。老叫化貪飲貪食,可是生平從來沒殺過一個好人。裘千仞,你是第二百三十二人!”如果他活在現代社會,無疑會是一個獨裁者。當然,我們不能以現代社會的標準來要求一個古人(何況是文學作品裏面的古人),我只是想說的是,程式上的正義(例如法律,例如審判)會比實際上的正義(個人執法?例如死亡筆記,例如武功之類)要重要得多。

《死亡筆記》讓人爭議就在這裏。讓人不解的是,以夜神月的資質,家庭環境,教育程度,應該不會想不到程式上的正義的重要性。當然,作者可以說他沒有想過。但是在他丟失記憶全力追捕Kira的時候,他會沒有想過麼?以至於恢復記憶後馬上恢復本性……

算了,不說了。正如作者所說,只是好玩而已,不必深究太多,不用去思考什麽法律的意義社會的意義。也是,簡單就好。反正死亡筆記並不存在。只是,除暴安良的大俠還是很可怕的。雖然我相信我不會被“除掉”……

在看《死亡筆記》

嗯……

很討厭夜神月…………

雖然我只看了前幾集,雖然我僅僅是看TV版……

之前還很喜歡《死亡筆記》的設定…………

嗯。不知道說什麼。 這個是我第一次討厭一部作品的主角……

嗯。不但是討厭,是厭惡……不知道怎麼說好。

別的小說、漫畫、動畫的主角有這樣那樣的缺點,

但是我都認為這種缺點同時是他、她或者它- -b的特點,

沒有了就不成為他、她、它, 同時也是可以解釋或者可以原諒的……

Maybe,他可能比較像我,或者說,我比較像他,

我不能確定如果我得到筆記會不會像他那樣……

只是,肯定做不到像他那麼“完美”……

Over,我有點理解為什麼官方會查封這部東西……

雖然我到現在也不會贊成查封《死亡筆記》……

又被屏蔽了。。。

今天備份Blog的時候發現,我的那篇《可憐的毛主席像》又被屏蔽了……

都不知道是什麽時候的事情……

想到幾天前談起的哈工大紫丁香BBS推行的前臺實名制,更是讓人覺得中國的輿論空間大不如前。現在高校BBS、論壇基本上都實現了後臺實名,也就是說要查發帖人基本上一查一個准;現在還不滿足,前臺實名,讓看貼都知道發帖的到底是誰……《南方周末》本星期發了一篇文章,《公民監督的紫丁香凋謝》,縂算有主流媒體發出一些聲音了……雖然自從上次《南方周末》硬被換人后立場大爲軟弱,但是這次令人刮目相看,又要考慮是否再重新買《南方周末》了……

算了,繼續儅一只豬睡覺去……

中國式滅鼠(zz)

发信人: july (七月*海水*笑着灰飞烟灭), 信区: Joke

标  题: zz中国式灭鼠

发信站: 红果园 (Sat Jul 14 09:06:26 2007), 站内

中国式灭鼠

作者:云弓

A计划:传统计划模式

第一阶段:成立全国灭鼠工作领导组,各地成立灭鼠办,下设捕鼠队,配备专用车辆。要求各地行政部门一把手亲自抓,分管领导具体抓,各部门协调合作,打好灭鼠工作歼灭战。

第二阶段:宣传发动。各大媒体全力宣传鼠类对人类的危害,介绍有关灭鼠常识,举行各种灭鼠知识大奖赛。

第三阶段:检查督促。成立灭鼠工作检查组赴各地检查灭鼠工作,及时发现问题解决问题。

第四阶段:总结表彰。隆重表彰全国灭鼠工作先进单位,评选十大捕鼠能手,表彰灭鼠工作科技成果奖,评选全国灭鼠宣传工作十佳好新闻等等。

灭鼠成果:投资1500亿元人民币,各地上报灭鼠数量3500亿只(超过全球鼠类总量N倍),实际灭鼠1亿只(含自然死亡及合理推算),平均灭鼠成本:1500元/只。

灭鼠效果:失败。

后遗症:灭鼠办人满为患占用大量灭鼠资金,各级财政不堪重负;各地灭鼠办超标准用车等问题有待解决。

民间语录:小球推动地球转,小老鼠养活灭鼠办。

B计划:市场经济模式

第一阶段:国家出钱收购老鼠尾巴,每枚一元。

第二阶段:针对极个别人只交鼠尾放活老鼠的做法,改为收购全鼠,每只2元。

第三阶段:举办全国性的鉴别老鼠知识培训班。主要任务:使各老鼠收购点工作人员及时掌握野生老鼠与人工饲养鼠的鉴别方法。

第四阶段:各地工商部门联合检查,严厉打击各地饲养老鼠的行为,查处非法老鼠饲料加工点,严格规范各类鼠医市场。

第五阶段:国家有关部门紧急叫停老鼠收购行为。

灭鼠成果:全国共投入收购资金20亿元,支付人员及各类开支130亿元,实际收购野生老鼠1500万只,平均灭鼠成本:1000元/只。

灭鼠效果:老鼠数量急剧增加。

后遗症:紧急叫停老鼠收购行为后,全国数千老鼠养殖户血本无归,35亿只老鼠一夜之间胜利大逃亡,回归大自然。

民间语录:要想富,少生孩子多养鼠。

C计划:时尚炒作模式

第一阶段:媒体风暴。

某报惊曝:据美国ABC大学DEF学院GHI研究院JK博士证实,野生老鼠的脂肪是迄今为止科学家所发现的最佳美容护肤佳品,方法简单,人人都可加工提炼,使用后可以达到除癍去皱美白肌肤等神奇功效。

某网站专稿:《鼠类生生不息之谜——揭示鼠鞭壮阳的神秘功效》。指出老鼠的繁衍昌盛与雄性老鼠独特的生理特性有关,野生鼠鞭是最安全最有效的纯天然伟哥代用品,每次服用鼠鞭45枚效果超过伟哥10倍。

学术期刊论文:《老鼠为什么总在长牙——科学家发现人类增高新希望》。

第二阶段:扇风点火。

各媒体请各界人士专家学者点评“鼠时尚”,观点越多越好,越乱越好。

第三阶段:泼点冷水。在火势很旺的时候,泼点水火势会更旺。

伦理学家:自然的才是最好的,我们不需要老鼠一样的性生活。

生理学家:都是大个子,世界未必美好。

医学专家:鼠脂美容,危险的时尚。

严肃认真的学者:辟谣!老鼠时尚,一个未经证实的神话。

第四阶段:媒体惊呼,保护我国珍贵的天然鼠资源。

灭鼠效果:老鼠成为濒危灭绝动物。

后遗症:专家不得不研究老鼠灭绝后对人类生态可能造成的影响。

民间语录:怀恋老鼠过街的日子。

《現場》

這幾天午飯時間沒事的時候在公司休息室那個小小的書架中可憐的幾本書中挑了一本《現場》來看……據説是第二輯了。

都是講一些社會邊緣或者准邊緣的人群的故事的(至少從我的角度上看是這樣子)。我看了三個檔案,但是都沒有看完。呵呵。第一個檔案是將北京樹村的,北京地下搖滾樂從業人員的聚居地,講歷史,講現在,講將來,又採訪了好些人,什麽舌頭樂隊之類的,也許Spider Waley Bat他們會更了解一些?然後我看的第二個檔案是關於詩人的,就是傳説中的“下半身”詩人。這個名字來源於他們創立的《下半身》詩集,出了好多期了,裏面的介紹也比較到位,至少不會像之前那樣斷章取義了吧。不知道大家還對“下半身”詩人有印象沒有?在給梨花教主打氣的詩會上脫衣服的就是一個下半身詩人。。。還有一個是採訪一個自由從業者(好像是吧?),但是主題内容還是他拍的一個DV《鐵道沿綫》,是對寶鷄市鐵路綫旁邊的流浪者的採訪、攝錄做成的紀錄片。

嗯。感覺上好像是在看另外一個世界,和我生活的世界是平行的一個世界。。。。

一個政治joke(zz)

群众的一员关于宋平顺自戕后被开除党籍的一点看法

一个政党要求自身的纯洁性不受玷污,无可厚非。但为了自己的纯洁,就把污秽扫到他人住宅门口也是不礼貌不文明的行为。将宋平顺开除党籍,在档案中政治面目那栏就应该填“群众”。我作为群众的一员,对这样的强行将人推往群众这边觉得非常惊诧。难道“群众”就是藏污纳垢之所?对于党委的这个决定,我认为有欠斟酌。

而且从另外一个角度说:宋平顺原来的身份是公仆,因为犯了错误,竟然被转成了主人身份。颇显滑稽。

常用的字符串hash算法zz

// RS Hash Function
unsigned int

RSHash(

char

* str)

{

   

unsigned int

b = 378551 ;

   

unsigned int

a = 63689 ;

   

unsigned int

hash = 0 ;

   

while

(*str)

    {

        hash = hash * a + (*str ++ );

        a *= b;

    }

   

return

(hash & 0x7FFFFFFF );

}

// JS Hash Function
unsigned int

JSHash(

char

* str)

{

   

unsigned int

hash = 1315423911 ;

   

while

(*str)

    {

        hash ^= ((hash << 5 ) + (*str ++ ) + (hash >> 2 ));

    }

   

return

(hash & 0x7FFFFFFF );

}

// P. J. Weinberger Hash Function
unsigned int

PJWHash(

char

* str)

{

   

unsigned int

BitsInUnignedInt = (

unsigned int

)( sizeof (

unsigned int

)*8 );

   

unsigned int

ThreeQuarters = (

unsigned int

)((BitsInUnignedInt*3 ) / 4 );

   

unsigned int

OneEighth = (

unsigned int

)(BitsInUnignedInt / 8 );

   

unsigned int

HighBits = (

unsigned int

)( 0xFFFFFFFF ) << (BitsInUnignedInt – OneEighth);

   

unsigned int

hash = 0 ;

   

unsigned int

test = 0 ;

    while (*str)

    {

        hash = (hash << OneEighth) + (*str ++ );

        if ((test = hash & HighBits) != 0 ) {

            hash = ((hash ^ (test >> ThreeQuarters)) & ( ~ HighBits));

        }

    }

    return (hash & 0x7FFFFFFF );

}

// ELF Hash Function
unsigned int

ELFHash(

char

* str)

{

   

unsigned int

hash = 0 ;

   

unsigned int

x = 0 ;

    while (*str)

    {

        hash = (hash << 4 ) + (*str ++ );

        if ((x = hash & 0xF0000000L ) != 0 ) {

            hash ^= (x >> 24 );

            hash &= ~ x;

        }

    }

    return (hash & 0x7FFFFFFF );

}

// BKDR Hash Functionunsigned int

BKDRHash(

char

* str)

{

   

unsigned int

seed = 131 ; // 31 131 1313 13131 131313 etc..

   

unsigned int

hash = 0 ;

    while (*str)

    {

        hash = hash*seed + (*str ++ );

    }

    return (hash & 0x7FFFFFFF );

}

// SDBM Hash Functionunsigned int

SDBMHash(

char

* str)

{

   

unsigned int

hash = 0 ;

    while (*str)

    {

        hash = (*str ++ ) + (hash << 6 ) + (hash << 16 ) – hash;

    }

    return (hash & 0x7FFFFFFF );

}

// DJB Hash Functionunsigned int

DJBHash(

char

* str)

{

   

unsigned int

hash = 5381 ;

    while (*str)

    {

        hash += (hash << 5 ) + (*str ++ );

    }

    return (hash & 0x7FFFFFFF );

}

// AP Hash Functionunsigned int

APHash(

char

* str)

{

   

unsigned int

hash = 0 ;

    int i;

    for (i = 0 ;*str; i ++ )

    {

        if ((i & 1 ) == 0 )    {

            hash ^= ((hash << 7 ) ^ (*str ++ ) ^ (hash >> 3 ));

        }    else {

            hash ^= ( ~ ((hash << 11 ) ^ (*str ++ ) ^ (hash >> 5 )));

        }

    }

    return (hash & 0x7FFFFFFF );

}