隨筆 - 59, 文章 - 4, 評(píng)論 - 184, 引用 - 7
          數(shù)據(jù)加載中……

          2006年3月6日

          一切都在變

          blog也搬遷了:http://blog.sina.com.cn/liuwendao

          來(lái)武漢快三年了,留在北京的最后一件物件-電吉它,也被我拿到武漢來(lái)了

          我們這么混,能成功嗎?
          立帖為證

          posted @ 2007-09-16 23:21 fisher 閱讀(1468) | 評(píng)論 (0)編輯 收藏

          來(lái)自蘇聯(lián)的笑話

            軍事演習(xí)區(qū),一位婦女駕車(chē)在大橋前被一名軍官攔住:“對(duì)不起,公民,您現(xiàn)在不能過(guò)去。”“為什么?”“這座橋在一小時(shí)前被炸毀了。”“您能告訴我這究竟是怎么回事嗎?”“很抱歉,不行。我本人已于2小時(shí)前陣亡。”
            
            
            伊萬(wàn)看電視,是勃在演講。伊萬(wàn)覺(jué)得無(wú)聊,換了一個(gè),還是勃在演講,又換一個(gè),還是他。伊萬(wàn)一連撥了幾十個(gè)臺(tái),最后累了,準(zhǔn)備關(guān)電視。這時(shí)候電視畫(huà)面變成一個(gè)KGB,怒氣沖沖地叫:“你再敢換?再敢換?再換判你10年大牢!”
            
            
            某日蘇聯(lián)舉行國(guó)慶**,沿著大街開(kāi)來(lái)了炮兵、機(jī)械化步兵、坦克、自行火炮、戰(zhàn)術(shù)導(dǎo)彈、戰(zhàn)略核導(dǎo)彈,破壞力一個(gè)比一個(gè)大;隊(duì)列末尾卻是兩個(gè)帶公文包的矮子。在看臺(tái)上勃列日涅夫驚訝地說(shuō):“這兩個(gè)人破壞力比核導(dǎo)彈還大!他們是什么人?”
            KGB頭子說(shuō):“不是我的人。”
            國(guó)防部長(zhǎng)說(shuō):“沒(méi)見(jiàn)過(guò)他們。”
            蘇聯(lián)總理說(shuō):“他們是國(guó)家計(jì)委的...”
            
            
            戈?duì)柊蛦谭蛞暡燹r(nóng)場(chǎng),看到豬兒乖乖,一時(shí)興起站在豬中間照了張像。
            待到報(bào)紙準(zhǔn)備發(fā)表時(shí),編輯為照片的標(biāo)題犯了難??
            “戈?duì)柊蛦谭蛲竞拓i在一起”不好。
            “豬和戈?duì)柊蛦谭蛲驹谝黄稹币膊缓谩?
            報(bào)紙出版后,照片下的說(shuō)明文字是??
            “左起第三位是戈?duì)柊蛦谭蛲尽?
            
            
            勃列日涅夫和美國(guó)總統(tǒng)卡特在瑞士開(kāi)會(huì),休息時(shí)間兩個(gè)人很無(wú)聊,就開(kāi)始比誰(shuí)的保膘更忠誠(chéng)。卡特先來(lái),他把自己的報(bào)膘叫進(jìn)來(lái),推開(kāi)窗(外面是20層樓)說(shuō):“約翰,從這里跳下去!”
            約翰哭著說(shuō):“你著么能這樣呢,總統(tǒng)先生,我還有老婆孩子吶。”
            卡特被感動(dòng)了,流著淚說(shuō)是自己不對(duì),叫約翰走了,然后掄到勃列日涅夫,他也大聲叫自己的保膘伊萬(wàn)。
            “伊萬(wàn),從這里跳下去!”
            伊萬(wàn)二話不說(shuō)就要往下跳,卡特一把抱住他說(shuō):“你瘋了?跳下去會(huì)死的!”
            伊萬(wàn)一邊掙扎著要跳下去一邊說(shuō):“放開(kāi)我,混蛋,我還有老婆孩子吶。”
            
            
            早年莫斯科修地鐵,工程師將方案上報(bào)斯大林審批。不久,方案發(fā)下來(lái),上面有斯大林的簽字。
            細(xì)心的工程師發(fā)現(xiàn)圖紙上多了一個(gè)圓型的茶杯印,于是莫斯科地鐵就多了一條環(huán)形線。
            
            
            斯大林肅反時(shí)期的蘇聯(lián)。一位內(nèi)務(wù)人民委員部審判員結(jié)束一天的審判工作,回到辦公室,突然一個(gè)人大笑起來(lái)。對(duì)面辦公桌的同事奇怪的問(wèn)道:“有什么好笑的事嗎?”“是啊,”審判員用手帕擦著笑出來(lái)的眼淚:“一個(gè)很好笑的笑話……”“哦?說(shuō)來(lái)聽(tīng)聽(tīng)?”“你瘋了嗎?!我剛判了說(shuō)這笑話的家伙五年苦役!”
            
            
            蘇聯(lián)30年代肅反擴(kuò)大化時(shí)期。內(nèi)務(wù)人民委員部的一間牢房里關(guān)了三個(gè)人,彼此間談起坐牢的原因。
            第一個(gè)人說(shuō),我因?yàn)榉磳?duì)了黨書(shū)記彼得羅夫;
            第二個(gè)人說(shuō),我因?yàn)橹С至吮说昧_夫;
            第三個(gè)人說(shuō),我就是彼得羅夫。
            
            
            戈?duì)柊蛦谭蚝退乃緳C(jī)開(kāi)著車(chē)在路上,戈?duì)柊蛦谭蛲话l(fā)異想,說(shuō):讓開(kāi)!我來(lái)開(kāi)。一個(gè)老警察和一個(gè)新警察在路上值勤,見(jiàn)一輛車(chē)歪歪扭扭的開(kāi)得瘋快,老警察就對(duì)新警察說(shuō):去!好好收拾一下。新警察將車(chē)攔住之后,又沒(méi)趣沒(méi)趣地回來(lái)了。老警察問(wèn):怎么?里面是誰(shuí)?新警察回答說(shuō):我也不知道里面是誰(shuí),反正給他開(kāi)車(chē)的是戈?duì)柊蛦谭颉?
            
            
            美國(guó)外交代表團(tuán)到蘇聯(lián)訪問(wèn),蘇聯(lián)接待官員陪他們參觀“建設(shè)的偉大成就”,并且得意的說(shuō):“到了下一個(gè)五年計(jì)劃,每個(gè)蘇聯(lián)家庭都可以擁有一架私人飛機(jī)!”美國(guó)人驚訝的問(wèn):“ 他們要飛機(jī)干什么呢?”蘇聯(lián)官員說(shuō):“當(dāng)然有用啊……譬如你在莫斯科聽(tīng)說(shuō)列寧格勒開(kāi)始供應(yīng)面包了,你可以馬上開(kāi)著飛機(jī)趕去排上隊(duì)。”
            
            
            一位公民打電話到基輔電臺(tái)問(wèn)主持人:“共產(chǎn)主義到底是藝術(shù)還是科學(xué)?” 主持人說(shuō):“我也不清楚,但我肯定不是科學(xué)” “為什么?” “如果是科學(xué)的話,他們應(yīng)該拿狗做試驗(yàn)。”
            
            
            斯大林在大會(huì)上引經(jīng)據(jù)典地說(shuō):“馬克思和列寧說(shuō)1+1=2,而托洛茨基和布哈林說(shuō)1+1不等于3。是托洛茨基和布哈林說(shuō)的對(duì)呢?還是馬克思和列寧說(shuō)得對(duì)呢?”下面聽(tīng)眾一臉疑惑,“毫無(wú)疑問(wèn),是馬克思和列寧說(shuō)的對(duì)!”底下熱烈鼓掌,“托洛茨基和布哈林是帝國(guó)主義派來(lái)的間諜,說(shuō)1+1不等于3的人罪不容赦……”
            
            
            列寧快去世了,叫趕快把繼承人斯大林召進(jìn)克里姆林宮來(lái),臨終有幾句話要囑托。“不瞞你說(shuō),我還有一個(gè)隱憂啊,斯大林。”“說(shuō)吧,親愛(ài)的伊里奇。”斯大林專(zhuān)心地聽(tīng)著。“那就是,人們會(huì)跟你走嗎?不知你想過(guò)了沒(méi)有?”“他們一定會(huì)跟我走的。”斯大林強(qiáng)調(diào)說(shuō),“一定會(huì)!” “但愿如此。”列寧說(shuō),“我只是擔(dān)心,萬(wàn)一他們不跟你走,你怎么辦?”“沒(méi)問(wèn)題!”斯大林答道:“那他們就得跟你走!”
            
            
            集體農(nóng)莊莊員伊萬(wàn)在河里捉到一條大魚(yú),高興的回到家里和老婆說(shuō):“看,我們有炸魚(yú)吃了!”
            “沒(méi)有油啊。”
            “那就煮!”
            “沒(méi)鍋。”
            “烤魚(yú)!”
            “沒(méi)柴。”
            伊萬(wàn)氣死了,走到河邊把魚(yú)扔了回去。那魚(yú)在水里劃了一個(gè)半圓,上身出水,舉起右鰭激動(dòng)地高呼:“斯大林萬(wàn)歲!”
            
            
            “瑞典能否建立共產(chǎn)主義”?
            “不能。”
            “為何?”
            “列寧同志說(shuō)了:共產(chǎn)主義不在山那邊。”
            
            
            一個(gè)蘇聯(lián)KGB特工和一個(gè)美國(guó)CIA特工互相吹噓各自的機(jī)構(gòu)是如何的杰出。
            那個(gè)KGB特工首先發(fā)言說(shuō),“我們擁有你們美國(guó)過(guò)去15年里所有導(dǎo)彈發(fā)射的詳細(xì)數(shù)據(jù)。”
            CIA特工說(shuō):“這不算什么。我們CIA掌握著你們蘇聯(lián)未來(lái)15年里所有當(dāng)選的中央委員名單。”
            
            
            一艘航行在大海上的輪船快要沉了,船長(zhǎng)叫乘客趕緊跳海,但他喊了半天沒(méi)有一個(gè)人跳,一個(gè)社會(huì)學(xué)家說(shuō)我來(lái)喊,他去喊過(guò)之后所有的人都跳下海去了。船長(zhǎng)覺(jué)得奇怪,問(wèn)他是怎么喊的,社會(huì)學(xué)家回答說(shuō):我對(duì)法國(guó)人說(shuō)這樣跳下去很浪漫,我對(duì)西班牙人說(shuō)這樣跳下去很瀟灑,我對(duì)英國(guó)人說(shuō)這樣跳下去是一種體育運(yùn)動(dòng),我對(duì)美國(guó)人說(shuō)這樣跳下去有利可圖,我對(duì)蘇聯(lián)人說(shuō)這樣跳下去是革命行動(dòng)。
            
            
            在蘇聯(lián)的一趟公交車(chē),一個(gè)男的非常謙恭地問(wèn)站在他身旁的另一個(gè)男的:“同志,請(qǐng)問(wèn)您是克格勃嗎?”
            那人答道:“不是。”
            又問(wèn):“那您有沒(méi)有親戚或朋友是克格勃呢?”
            答:“沒(méi)有。”
            還問(wèn):“那您是否跟克格勃有些交往或聯(lián)系?”
            答:“沒(méi)有,你要干嘛啊!”
            該男生氣地說(shuō):“干嘛,他媽的,你踩著我的腳了!”
            
            
            赫魯曉夫作報(bào)告,批判斯大林。忽然,有人從臺(tái)下遞了個(gè)紙條,寫(xiě)道:當(dāng)他做壞事的時(shí)候,你在哪里?赫魯曉夫一看這個(gè)條子,大聲怒喝道:“是誰(shuí)寫(xiě)的,給我站出來(lái)。”臺(tái)下雅雀無(wú)聲,沒(méi)有人站出來(lái)。赫魯曉夫接著說(shuō)道:“同志們,我當(dāng)時(shí)就和你們現(xiàn)在一樣,你們知道我當(dāng)時(shí)為什么不敢站出來(lái)了吧”
            
            
            勃列日涅夫:同志們,美國(guó)人登上了月球,我們不能再等了,黨決定讓你們上太陽(yáng)。
            宇航員:總書(shū)記同志,我們會(huì)被燒死的。
            勃列日涅夫:沒(méi)關(guān)系,同志們,黨都替你們想好了,你們晚上去。
            
            
            電影《這里的黎明靜悄悄》試映時(shí),由于其中有部分裸體鏡頭,因此主管電影審核的官員曾試圖把這部電影禁演,幸虧勃列日涅夫內(nèi)部觀看時(shí)感動(dòng)得熱淚盈眶,這部?jī)?yōu)秀的電影才有幸與觀眾見(jiàn)面,成為世界電影史上不朽的篇章。而另一部電影由于其中有主人公走到教堂時(shí)跪地痛哭的鏡頭,被電影審核官員認(rèn)為是宣揚(yáng)宗教而準(zhǔn)備勒令裁掉這部分內(nèi)容,恰恰勃列日涅夫看到這里時(shí)動(dòng)了感情,因此這個(gè)鏡頭得以幸存下來(lái)。
            
            
            當(dāng)年的捷克斯洛伐克政府中,設(shè)立了一個(gè)“海軍部”,結(jié)果,蘇聯(lián)老大哥就對(duì)捷克人說(shuō):你們是內(nèi)陸國(guó)家,設(shè)什么海軍部?
            捷克人回答說(shuō):那你們不是也設(shè)了文化部嗎?

          posted @ 2007-01-20 15:15 fisher 閱讀(2205) | 評(píng)論 (0)編輯 收藏

          [調(diào)查]國(guó)內(nèi)有多少人使用MINA?

          最近看到越來(lái)越多的人使用mina,甚至在線下也碰到合作公司的庫(kù)中使用MINA,出于好奇,嘗試一下用自己的blog做一下調(diào)查,訪問(wèn)本blog的兄弟,如果您使用MINA作為自己的通訊基礎(chǔ)件,請(qǐng)留言介紹一下自己

          posted @ 2006-12-27 13:00 fisher 閱讀(4534) | 評(píng)論 (20)編輯 收藏

          隨想

          軟件開(kāi)發(fā)的世界里充滿了不理解,客戶(hù)不理解軟件是怎樣開(kāi)發(fā)的、經(jīng)理不理解開(kāi)發(fā)人員、開(kāi)發(fā)人員不理解指揮者。

          問(wèn)題在于軟件開(kāi)發(fā)驚人的困難,造成很少有開(kāi)發(fā)人員能夠說(shuō)出軟件自始至終是怎樣開(kāi)發(fā)的,并能夠?qū)@個(gè)過(guò)程中會(huì)遇到的不同選擇所隱含的結(jié)果表現(xiàn)出適度的理解。

          在軟件開(kāi)發(fā)人員還很年輕的時(shí)候(十幾歲或二十出頭),他們通常集中精力學(xué)習(xí)和使用技術(shù),稱(chēng)自己為perl程序員、Linux專(zhuān)家、EJB開(kāi)發(fā)人員、.NET開(kāi)發(fā)人員等。對(duì)他們來(lái)說(shuō)技術(shù)是最重要的事情。因?yàn)榧夹g(shù)在不斷的變化,年輕的程序員傾向于大致學(xué)習(xí)一個(gè)技術(shù),在一到兩個(gè)項(xiàng)目中使用,然后重新開(kāi)始學(xué)習(xí)新技術(shù)或者是學(xué)習(xí)以前使用過(guò)的技術(shù)的最新發(fā)展。這里的問(wèn)題是,他們一遍又一遍的重復(fù)的學(xué)習(xí)的不過(guò)是同樣的低層次基本技能的不同風(fēng)味。

          幸運(yùn)的是,很多開(kāi)發(fā)人員在經(jīng)過(guò)了幾輪技術(shù)學(xué)習(xí)之后逐漸意識(shí)到:一旦用COBOLJavaC#等語(yǔ)言為事務(wù)控制編寫(xiě)過(guò)代碼,就會(huì)開(kāi)始認(rèn)識(shí)到基本的、本質(zhì)的東西是不變的。不同環(huán)境下的數(shù)據(jù)庫(kù)訪問(wèn)、用戶(hù)界面設(shè)計(jì)等領(lǐng)域也是同樣的情況。不久以后,開(kāi)發(fā)人員逐漸認(rèn)識(shí)到無(wú)論具體的技術(shù)怎樣,很多基礎(chǔ)性的東西是保持不變的,這些基礎(chǔ)性的東西有的在學(xué)校里講過(guò),有的沒(méi)有。
          這種認(rèn)識(shí)經(jīng)常發(fā)生在開(kāi)發(fā)人員接近三十歲或剛過(guò)三十歲的時(shí)候,通常是人們開(kāi)始穩(wěn)定下來(lái),結(jié)婚、買(mǎi)房的時(shí)候。這是比較幸運(yùn)的情況,因?yàn)樯厦嫣岬降倪@些新的個(gè)人需求意味著他們不可能再投入大量的時(shí)間去學(xué)習(xí)新的技術(shù),他們需要用這些時(shí)間和家庭成員在一起。突然的,高層次的角色如項(xiàng)目負(fù)責(zé)人、項(xiàng)目經(jīng)理、(非敏捷的)建模人員等對(duì)他們變得非常有吸引力,因?yàn)檫@些角色不需要持續(xù)花費(fèi)大量的時(shí)間和精力去學(xué)習(xí)新技術(shù)。于是,等到開(kāi)發(fā)人員開(kāi)始真正學(xué)到技藝的時(shí)候,他們已經(jīng)處于離開(kāi)開(kāi)發(fā)人員角色的轉(zhuǎn)變過(guò)程中了。所幸的是,新的“小年輕”不斷的跟上來(lái),這個(gè)過(guò)程在不斷的循環(huán)重復(fù)。最終的結(jié)果是:大部分最活躍的正在開(kāi)發(fā)軟件的人通常不是最稱(chēng)職的做這件事的人,而他們自己甚至還不知道。

          posted @ 2006-07-24 11:31 fisher 閱讀(2257) | 評(píng)論 (6)編輯 收藏

          今天學(xué)會(huì)一個(gè)新名詞 - Troll

          來(lái)自pythoncn的maillist,呵呵,挺有意思
          -------------
          像Chris Qie <longroad1999@gmail.com>這樣的在公共論壇用侮辱性言語(yǔ)挑起罵戰(zhàn)并從中獲取某種不知名快感的人,在Usenet文化中有一個(gè)名稱(chēng):

          • Troll

          • Troll作動(dòng)詞是釣魚(yú)的意思,指那些人發(fā)表某種言論后等待別人的攻擊性回復(fù),從而獲得快感。Troll還有一個(gè)意思是斯堪的納維亞神話中一種長(zhǎng)相丑陋、愛(ài)惡作 劇、令人討厭的巨人,和那些找罵的人有相似之處,因此也被引申過(guò)來(lái)形容那些 人,做名詞使用。回troll的貼則被稱(chēng)為feed the trolls,即給trolls喂食。
          • Trolls有很多種,像Chris Qie只是其中一種,即使用種族歧視性語(yǔ)言激怒別人,好讓別人回帖罵他。comp.lang.python上著名的troll: Xah Lee則是長(zhǎng)年在各個(gè) script語(yǔ)言討論組上交叉張貼無(wú)關(guān)內(nèi)容或用錯(cuò)誤百出的話語(yǔ)對(duì)某種語(yǔ)言或者文化進(jìn) 行攻擊。但無(wú)論那種troll,他們的目的都是一樣的:想通過(guò)怪誕的舉動(dòng)引起別人 的注意。這是一種病態(tài)心理,是一種未成熟,類(lèi)似小孩“人來(lái)瘋”似的舉動(dòng)。
          • Trolls的存在對(duì)公共空間是破壞性的。它們的post會(huì)引起很多人回帖,甚至?xí)星榫w激動(dòng)者采用謾罵的方式回敬,這些人被稱(chēng)為trollhunter。這些行為正中trolls 的下懷,使他們獲得被罵的快樂(lè),從而更加積極的trolling。而且即使 trollhunter的動(dòng)機(jī)是好的,也會(huì)給論壇帶來(lái)不好影響,使其他用戶(hù)接收到大量無(wú) 關(guān)信息和攻擊性信息,成為受害者。公共空間的和諧性被破壞。
          • Trolls最愿意看到別人回他的貼,無(wú)論是正兒八經(jīng)指出他的錯(cuò)誤還是義憤填膺的對(duì)他謾罵。對(duì)一個(gè)troll來(lái)說(shuō),最能讓他感到沮喪的則是沒(méi)有人理他。而我們,正是 應(yīng)該讓他們沮喪,失去trolling的動(dòng)力。
          • 對(duì)待trolls的方法,一方面要靠大家自覺(jué),克制自己回帖的沖動(dòng),不給他們喂食。

          另一方面,在郵件列表這種有管理員的公共空間,可以向管理員提出封禁trolls的 提案。

          • 下圖是我從c.l.python上Keith Thompson對(duì)Xah Lee的trolling行為提醒公眾的帖子中拷貝過(guò)來(lái)的圖片(請(qǐng)使用等寬字體觀看)
                  +-------------------+             .:\:\:/:/:.
                 |   PLEASE DO NOT   |            :.:\:\:/:/:.:
                 |  FEED THE TROLLS  |           :=.' -   - '.=:
                 |                   |           '=(\ 9   9 /)='
                 |   Thank you,      |              (  (_)  )
                 |       Management  |              /`-vvv-'\
                 +-------------------+             /         \
                         |  |        @@@          / /|,,,,,|\ \
                         |  |        @@@         /_//  /^\  \\_\
           @x@@x@        |  |         |/         WW(  (   )  )WW
           \||||/        |  |        \|           __\,,\ /,,/__
            \||/         |  |         |      jgs (______Y______)
          /\/\/\/\/\/\/\/\//\/\\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
          
          • 歷年python-cn 各種列表著名 Troll 案例:

            1. 051106-RE:python的無(wú)奈

              唉,沒(méi)想到這里鄉(xiāng)下賤農(nóng)(的賤崽)還真不少,
              說(shuō)城市人酒囊飯袋是農(nóng)村人聊以自慰的一點(diǎn)點(diǎn)資本,
              就象美國(guó)黑人在奧運(yùn)會(huì)奪得金牌時(shí)獲得的快樂(lè)一樣,
              我就是酒囊飯袋怎么樣?
              可惜就是你爸在田間地頭為我流汗流淚的勞作養(yǎng)活的我,
              哈哈?心理不平衡了?誰(shuí)讓你爹是農(nóng)民!
              還"龍村",真夠惡心的,一輩子你都是低賤的鄉(xiāng)下人 ,
              低賤!哈哈!就是血染你家老母老爹,然后發(fā)跡的,你能怎樣?HOHO~
              
              -- 是標(biāo)準(zhǔn)的運(yùn)用城市差異來(lái)挑起回復(fù)的實(shí)例,在中國(guó)這樣的發(fā)展中國(guó)家尤其奏效
          • 060112-RE:Web開(kāi)發(fā)有必要選Python(或者是ruby)么?????????

          • ???????????? -- 開(kāi)始,僅僅是比較典型的"是否最優(yōu)"探討,后來(lái)立即轉(zhuǎn)向人身攻擊,是經(jīng)典的通過(guò)技術(shù)爭(zhēng)論引發(fā)回復(fù)的實(shí)例

          posted @ 2006-06-13 10:27 fisher 閱讀(13598) | 評(píng)論 (9)編輯 收藏

          程序員的進(jìn)化——從學(xué)生到首席執(zhí)行官(轉(zhuǎn))


          /*-------------------------------------------

          ? 程序員的進(jìn)化——從學(xué)生到首席執(zhí)行官

          翻譯 2002 王詠剛
          http://www.contextfree.net/
          轉(zhuǎn)譯自 Omri's Computer Humor Page
          http://www.cs.bgu.ac.il/~omri/Humor/
          -------------------------------------------*/


          --------------------------------------------------------------------------------
          中學(xué)階段

          ? ? ? 10 PRINT "HELLO WORLD"
          ? ? ? 20 END
          --------------------------------------------------------------------------------
          大學(xué)一年級(jí)

          ? ? ? program Hello(input, output)
          ? ? ? ? begin
          ? ? ? ? writeln('Hello World')
          ? ? ? ? end.
          --------------------------------------------------------------------------------
          大學(xué)高年級(jí)

          ? ? ? (defun hello
          ? ? ? ? (print
          ? ? ? ? (cons 'Hello (list 'World))))
          --------------------------------------------------------------------------------
          初級(jí)程序員

          ? ? ? #include <stdio.h>
          ? ? ? void main(void)
          ? ? ? {
          ? ? ? ? char *message[] = {"Hello ", "World"};
          ? ? ? ? int i;

          ? ? ? ? for(i = 0; i < 2; ++i)
          ? ? ? ? printf("%s", message
          );
          ? ? ? ? printf("\n");
          ? ? ? }
          --------------------------------------------------------------------------------
          編程老鳥(niǎo)

          ? ? ? #include <iostream.h>
          ? ? ? #include <string.h>

          ? ? ? 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(<windows.h>);
          ? ? ? ? importheader(<ole2.h>);
          ? ? ? ? importheader(<except.hxx>);
          ? ? ? ? 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 <windows.h>
          ? ? ? #include <ole2.h>
          ? ? ? #include <stdio.h>
          ? ? ? #include <stdlib.h>
          ? ? ? #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 <windows.h>
          ? ? ? #include <ole2.h>
          ? ? ? #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 <windows.h>
          ? ? ? #include <ole2.h>
          ? ? ? #include <stdlib.h>
          ? ? ? #include <string.h>
          ? ? ? #include <stdio.h>
          ? ? ? #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 <stdio.h>
          ? ? ? #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
          --------------------------------------------------------------------------------
          初級(jí)經(jīng)理

          ? ? ? 10 PRINT "HELLO WORLD"
          ? ? ? 20 END
          --------------------------------------------------------------------------------
          中級(jí)經(jīng)理

          ? ? ? mail -s "Hello, world." bob@b12
          ? ? ? Bob, could you please write me a program that prints "Hello, world."?
          ? ? ? I need it by tomorrow.
          ? ? ? ^D
          --------------------------------------------------------------------------------
          高級(jí)經(jīng)理

          ? ? ? % zmail jim
          ? ? ? I need a "Hello, world." program by this afternoon.
          --------------------------------------------------------------------------------
          首席執(zhí)行官

          ? ? ? % letter
          ? ? ? letter: Command not found.
          ? ? ? % mail
          ? ? ? To: ^X ^F ^C
          ? ? ? % help mail
          ? ? ? help: Command not found.
          ? ? ? % damn!
          ? ? ? !: Event unrecognized
          ? ? ? % logout
          --------------------------------------------------------------------------------

          posted @ 2006-05-18 17:14 fisher 閱讀(1065) | 評(píng)論 (0)編輯 收藏

          Hello World的196種寫(xiě)法

          還記得孔乙己說(shuō):茴香豆的‘茴’字有四種寫(xiě)法嗎?現(xiàn)在我們的知識(shí)份子已經(jīng)進(jìn)步了,看看Hello World的196種寫(xiě)法:)

          http://man.lupaworld.com/content/develop/hello/HelloWorld.shtml

          posted @ 2006-05-18 16:58 fisher 閱讀(880) | 評(píng)論 (0)編輯 收藏

          趴在窗戶(hù)上看長(zhǎng)江

          下午寫(xiě)完設(shè)計(jì),趴在武漢辦公室的窗戶(hù)上看風(fēng)景,天氣好的時(shí)候,左面長(zhǎng)江右邊東湖都可以看到,其實(shí)想想在武漢出差也挺不錯(cuò)的,呵呵

          posted @ 2006-05-17 18:03 fisher 閱讀(593) | 評(píng)論 (0)編輯 收藏

          關(guān)于人.....

          彼得·德魯克在他的《卓有成效的管理者?》當(dāng)中,闡述了知識(shí)工作者管理的秘訣,那就是知識(shí)工作者的工作效率來(lái)自于對(duì)其工作的有效性以及他的工作是否有所成就。這本1966年出版的管理學(xué)書(shū)籍經(jīng)過(guò)近50年的時(shí)間,反而越發(fā)顯得適應(yīng)潮流。
          而卓有成效的知識(shí)工作管理者現(xiàn)在顯得比過(guò)去任何時(shí)候都要短缺,也比現(xiàn)時(shí)任何人才都要短缺。在現(xiàn)時(shí)這個(gè)信息爆炸,案例豐富的年代,戰(zhàn)略眼光與部署格局對(duì)于一個(gè)企業(yè)人才不再如此重要,對(duì)于企業(yè)戰(zhàn)略,任何有管理常識(shí)、了解企業(yè)實(shí)情的人大都可以分析得很到位,關(guān)鍵是要找到合適的人去實(shí)施。知道什么樣的人合適,以及找到這個(gè)合適的人,成為企業(yè)家最需要做的事情。而成為那個(gè)合適的人,則成為草根階層走入舞臺(tái)中央的必備能力。

          附一篇來(lái)自經(jīng)濟(jì)觀察報(bào)劉軍的《笨蛋,最重要的是人!
          ---------------------------------

          ????? 2005年10月8日管理大師彼得·德魯克曾經(jīng)講過(guò)一個(gè)他和《時(shí)代》《財(cái)富》等雜志的出版人亨利·魯斯交往的故事。魯斯有個(gè)很好的新雜志方案——試圖創(chuàng)辦“從美國(guó)人思考角度出發(fā)”的高格調(diào)文化雜志,他去向德魯克求教。德魯克分析了一番說(shuō),“這份企劃案很棒,不過(guò)晚了50年。”接著,他對(duì)魯斯說(shuō)出了最重要的話:“此外,《時(shí)代》的人也無(wú)法勝任。我猜,你想鼓勵(lì)一些外面的作家來(lái)為這本雜志執(zhí)筆,并以一般大眾為讀者群。但是你的專(zhuān)長(zhǎng)卻是叫自己手下人搞定,因此大有不同。”?
          ????? 魯斯回答說(shuō),“我來(lái)向你請(qǐng)教,正因?yàn)槲也孪肽銜?huì)這么說(shuō)。”他因而放棄了這個(gè)計(jì)劃,因?yàn)樗钪说闹匾浴=?jīng)過(guò)十多年的西方管理教育和知識(shí)傳播,中國(guó)企業(yè)管理者已經(jīng)熟知戰(zhàn)略的理性分析,與重視人比起來(lái)更重視事,另外先建立制度、而不是依靠人的觀念也被廣泛接受。不過(guò),我卻逐漸感覺(jué)到,在這些問(wèn)題上我們可能有點(diǎn)矯枉過(guò)正,對(duì)于知識(shí)型工作、對(duì)于管理,或許人更重要,是應(yīng)該優(yōu)先考慮的。?
          ????? 9月底,索尼新任CEO、美國(guó)人霍華德·斯特林格(Howard?Stringer)宣布索尼的戰(zhàn)略調(diào)整計(jì)劃:全球裁員一萬(wàn)人,縮減工廠數(shù)目,出售1200億日元的不動(dòng)產(chǎn)與股票等非核心資產(chǎn),對(duì)消費(fèi)電子業(yè)務(wù)進(jìn)行架構(gòu)調(diào)整、將權(quán)力集中到這一業(yè)務(wù)的最高主管手中。在過(guò)去五年中,索尼逐漸失去消費(fèi)電子霸主地位,業(yè)績(jī)很不理想,這背后的根本原因正是這些戰(zhàn)略調(diào)整所觸及的問(wèn)題。對(duì)于這一點(diǎn),大概稍微有點(diǎn)管理常識(shí)的人都知道,我想索尼前CEO出井伸之自然了然于心,他之下的索尼高管也清楚。不過(guò),大概只有霍華德·斯特林格、索尼歷史上第一個(gè)外國(guó)人CEO、這個(gè)日本文化的局外人才能推行上述改革。?
          ???? 戰(zhàn)略,有管理常識(shí)、了解企業(yè)實(shí)情的人大都可以分析得很到位,但真正去做,就需要“合適的人”。我一直相信,選擇霍華德·斯特林格作為繼任者,是出井伸之的最重要的決策,體現(xiàn)這個(gè)亞洲最優(yōu)秀的商業(yè)領(lǐng)袖的領(lǐng)導(dǎo)才能。卡洛斯·戈恩已經(jīng)因成功在日產(chǎn)汽車(chē)(Nissan)實(shí)現(xiàn)大逆轉(zhuǎn)而成為全球最知名的管理者之一,他當(dāng)初所做的關(guān)閉工廠與裁員、破除日本式企業(yè)聯(lián)盟等措施,都是眾所周知的弊端,但惟有他這個(gè)合適的人才能推動(dòng)變革。斯特林格和戈恩都是在這種情境下最合適的人,只是恰巧他們都是外國(guó)人。?
          ????? Google、微軟和李開(kāi)復(fù)之間的紛爭(zhēng)一直沒(méi)有停息的跡象。在這個(gè)過(guò)程中李開(kāi)復(fù)把自己再次塑造成了最優(yōu)秀的技術(shù)專(zhuān)家形象,但如果相信這一點(diǎn),我們就錯(cuò)誤理解了Google的智慧。如果要一流的中文搜索研發(fā)人才,Google的最佳人選絕對(duì)不是李開(kāi)復(fù),而可能是李彥宏。如果它的戰(zhàn)略訴求點(diǎn)是這個(gè),它可以百度買(mǎi)下,從而得到李彥宏。但是,Google在中國(guó),需要的哪里是什么技術(shù)專(zhuān)家、研發(fā)中心?現(xiàn)在Google中國(guó)戰(zhàn)略要的合適的人是據(jù)稱(chēng)是“技術(shù)專(zhuān)家”的李開(kāi)復(fù),但他在公眾心目中的號(hào)召力和政府公關(guān)能力才是Google所看重的。?
          ????? 我們也可以循同樣的視角來(lái)看待雅虎和阿里巴巴之間的聯(lián)姻。這一次是把雅虎中國(guó)的業(yè)務(wù)交道馬云手中去讓他照料,因?yàn)閷?duì)于誰(shuí)了解中國(guó)市場(chǎng)和能夠幫助雅虎發(fā)現(xiàn)中國(guó)市場(chǎng)潛力這個(gè)問(wèn)題,馬云是最佳答案。雅虎在中國(guó)的最近兩次戰(zhàn)略行動(dòng)目標(biāo)都首先是為了“人”。上一次是雅虎在中國(guó)收購(gòu)3721,反而讓其老板周鴻一擔(dān)任中國(guó)區(qū)總裁,從而讓雅虎中國(guó)從跨國(guó)公司在華分支機(jī)構(gòu)這樣的角色變成勇猛的中國(guó)本土企業(yè)。但在經(jīng)歷一段發(fā)展時(shí)期之后,雅虎中國(guó)就需要更合適的人。我們可以認(rèn)為,這是雅虎、阿里巴巴聯(lián)姻的主要原因之一。?
          ????? 先建立制度、體系,而不是“因人設(shè)事”這樣的觀點(diǎn)被廣泛接受,可是,我們忘記了這個(gè)觀念背后的工業(yè)化背景:所有人的都被當(dāng)成了可替換的零件,所以制度體系最重要。但是,對(duì)于知識(shí)型工作來(lái)說(shuō),特別是非重復(fù)的創(chuàng)造性工作,每個(gè)人的工作方式、結(jié)果都截然不同。?
          ????? 我們所設(shè)計(jì)的制度體系,在當(dāng)前的人員安排下也似乎運(yùn)轉(zhuǎn)正常。但是,由于這些人是無(wú)法替換的,人走了,看似精妙的體系也就出現(xiàn)出現(xiàn)問(wèn)題了。這個(gè)時(shí)候,是去做不可能完成的任務(wù):尋找適合制度體系的一摸一樣的人?還是更改體系?或者看得更遠(yuǎn)點(diǎn),在現(xiàn)在的情境下,我們根本就不該把制度體系的重要性神話到這種程度?針對(duì)知識(shí)型工作的討論,和上文對(duì)最高管理者的討論并非沒(méi)有聯(lián)系,因?yàn)樵谖铱磥?lái),管理工作是最重要的、最具創(chuàng)造性的知識(shí)工作。?
          ????? 吉姆·柯林斯在《從優(yōu)秀到卓越》說(shuō)卓越公司是“先人后事”:這些公司的主管不是先確定目的地(先有方向、愿景、戰(zhàn)略),然后才把人們引向那里;他們首先讓合適的人上車(chē)(不合適的人自然請(qǐng)下車(chē)),然后才決定去向何處。他所說(shuō)的雖是方向、遠(yuǎn)景,但大體上和制度是同一類(lèi)型的事物。我們都應(yīng)該了解,合適的人更重要,那些看似嚴(yán)密的戰(zhàn)略分析和完善的制度體系有時(shí)候會(huì)變成令人難以忍受的障礙,因?yàn)樗鼈兒汀昂线m的人”可能是完全矛盾的,這些人通常都難以放到一個(gè)既定的模子中去。?

          posted @ 2006-04-25 23:19 fisher 閱讀(1051) | 評(píng)論 (0)編輯 收藏

          webwork2.2.2的dtd解析問(wèn)題(感謝飛云小俠)

          今天將webwork2.2.1更換成webwork2.2.2,出現(xiàn)了一個(gè)奇怪的異常,每次啟動(dòng)后,都會(huì)報(bào)出:
          org.xml.sax.SAXParseException:?Element?type?"global-exception-mappings"?must?be?declared.
          com.opensymphony.xwork.config.ConfigurationException:?Caught?exception?
          while?loading?file?xwork.xml
          ????with?nested?exception?
          org.xml.sax.SAXParseException:?Element?type?
          "global-exception-mappings"?must?be?declared.
          如果將xwork.xml中的global-exception-mappings注釋掉便好

          頭疼了幾個(gè)小時(shí)解決不了,不得不求助飛云小俠
          飛云小俠一出手果然不同,馬上定位了問(wèn)題所在
          就是這句:
          <!DOCTYPE?xwork?PUBLIC?"-//OpenSymphony?Group//XWork?1.1.1//EN"?"http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">

          原來(lái)雖然幾次升級(jí)webwork.jar,但是xwork.xml的DTD解析還是用的原來(lái)的DTD,頂多就是改了DTD的地址,也就是將這句
          ?"http://www.opensymphony.com/xwork/xwork-1.1.dtd">
          改為這樣
          ?"http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">

          而實(shí)際上解析DTD是靠的前面那句
          <!DOCTYPE?xwork?PUBLIC?"-//OpenSymphony?Group//XWork?1.1.1//EN"?>
          原來(lái)一直是
          <!DOCTYPE?xwork?PUBLIC?"-//OpenSymphony?Group//XWork?1.0//EN"?>
          于是就出現(xiàn)了上面的問(wèn)題
          多謝飛云小俠的幫助^_^

          posted @ 2006-04-21 15:07 fisher 閱讀(1280) | 評(píng)論 (0)編輯 收藏

          重讀溫博格

          自工作以來(lái),我就養(yǎng)成了睡前讀書(shū)的習(xí)慣,這一年在武漢,實(shí)在買(mǎi)不到一些好書(shū),每次回北京總要帶很多書(shū)過(guò)來(lái),最近再次面臨回京購(gòu)書(shū)的局面,在回京之前總不能閑著,于是從去年看過(guò)的書(shū)中亂翻,以第一感覺(jué)來(lái)決定自己最想重讀那本書(shū),結(jié)果選中了溫博格的《成為技術(shù)領(lǐng)導(dǎo)者-解決問(wèn)題的有機(jī)方法》
          兩年前,當(dāng)一位同窗好友集齊全套的溫博格系列的時(shí)候,我曾很不屑的說(shuō)他:一個(gè)人寫(xiě)那么多書(shū),質(zhì)量顯然沒(méi)保證,買(mǎi)他作甚?現(xiàn)在看來(lái),當(dāng)時(shí)確是井底之蛙了,溫博格的書(shū)中少有瑕疵,尤其是后期作品,讀來(lái)總是讓人意猶未盡。
          過(guò)去的幾年里,我看過(guò)很多書(shū),無(wú)論是早期GOF的設(shè)計(jì)模式,Martin Fowler的企業(yè)架構(gòu)系列,還是Rod的J2EE開(kāi)發(fā)厚厚的兩卷本,甚至我最喜歡的POSA系列,雖然都會(huì)給人技術(shù)方面成長(zhǎng)的感覺(jué),但最好情況下也只是讓我感覺(jué)到技藝的變化。
          而管理方面的書(shū)籍,則大多走入兩個(gè)極端,要么是學(xué)院式的分析解構(gòu),要么是江湖術(shù)士式的技巧集合。就像過(guò)去我曾很喜歡DEBORAH G. ANCONA的那本組織行為學(xué)和曾士強(qiáng)的中國(guó)式管理,但現(xiàn)在看來(lái),DEBORAH關(guān)注組織多過(guò)于關(guān)注團(tuán)隊(duì),而曾士強(qiáng)則過(guò)于強(qiáng)調(diào)中國(guó)人的心理情結(jié),實(shí)用歸實(shí)用,但可能不太適合技術(shù)人員的口味,讀他的書(shū)讓人感覺(jué)有些厚黑,讓我常常想到一句俗語(yǔ):人老精,鬼老靈。

          而溫博格的寫(xiě)作方式,如同Ken在英文版序中所說(shuō),會(huì)引起大量的思考,對(duì)溫博格的文字的思考,思考對(duì)溫博格文字的思考,以及對(duì)自身思考的思考....通過(guò)溫博格的書(shū),讓我體會(huì)到的事是,讀書(shū),有時(shí)候是為了實(shí)用,而的有時(shí)候,則純粹是為了過(guò)癮。
          本書(shū)中溫博格的MOI模型,實(shí)際上不是一個(gè)行為指導(dǎo)手冊(cè),而是帶來(lái)了更加宏觀和可思考的空間,讓你對(duì)自己在團(tuán)隊(duì)中的行為更加有目的性,也更加有效。我仍然記得兩年前,上述同窗好友在某技術(shù)論壇發(fā)表的一篇名為《任務(wù)分解和任務(wù)分配》的帖子,現(xiàn)在看來(lái),在該貼中提出的Effective Communication仍然太過(guò)于關(guān)注技術(shù)視角了,而現(xiàn)在,我則更加注重人文關(guān)懷,包括對(duì)技術(shù)架構(gòu)。這一點(diǎn),在本書(shū)第十章得到了精彩的闡述。

          下面的內(nèi)容,來(lái)自于本書(shū)第三章摘錄

          各種各樣的想法是解決問(wèn)題的核心,沒(méi)有想法就不可能找到解決方案,但想法太多又會(huì)雜亂無(wú)章,領(lǐng)導(dǎo)者需要對(duì)想法的交流進(jìn)行有效的管理。以下是領(lǐng)導(dǎo)者常用的12種典型的管理想法交流的方法以及點(diǎn)評(píng)。
          ??? >? 為團(tuán)隊(duì)提供一個(gè)聰明的想法。盡管這是最顯而易見(jiàn)的領(lǐng)導(dǎo)者行為,而且有時(shí)新的想法的確會(huì)起到關(guān)鍵性作用,但事實(shí)上真正全新的想法是非常罕見(jiàn)的。比發(fā)掘一個(gè)新的聰明想法更重要的是創(chuàng)建一個(gè)合適的環(huán)境,是能夠解決問(wèn)題的想法一旦提出就能被大家意識(shí)到。
          ??? >? 鼓勵(lì)和借鑒有用的舊想法。盡管有些領(lǐng)導(dǎo)者不愿意承認(rèn),但他們實(shí)際上是根深蒂固的模仿者。最優(yōu)秀的領(lǐng)導(dǎo)者不僅承認(rèn)這一點(diǎn),而且將其視為一門(mén)藝術(shù)而精心培育。
          ??? >? 認(rèn)真完善團(tuán)隊(duì)成員提出的想法。大部分解決問(wèn)題型領(lǐng)導(dǎo)者在完善一個(gè)想法上花費(fèi)的時(shí)間比提出這個(gè)想法多上百倍的精力。
          ??? >? 放棄自己的想法并支持團(tuán)隊(duì)采納的想法,但只有當(dāng)每個(gè)成員都充分了解你的想法時(shí)才予以放棄。放棄或保留你的想法是相當(dāng)簡(jiǎn)單的,難的是要做到理智和公正。
          ??? >? 盡管時(shí)間壓力很大,仍然不要吝嗇花時(shí)間聽(tīng)其他人解釋他們的想法。迫于時(shí)間壓力,大部分想法沒(méi)有經(jīng)過(guò)充分理解就被否決了,事實(shí)上,其中一些想法可以為我們節(jié)省的時(shí)間是花在了解錯(cuò)誤想法上時(shí)間的上百倍。
          ??? >? 檢驗(yàn)別人提出的想法。在任何給定的環(huán)境中,絕大部分的想法都是沒(méi)用的,但到底哪些才是有用的呢?領(lǐng)導(dǎo)者要做的就是分析和檢驗(yàn)這些想法。
          ??? >? 為了保持想法的交流,不要輕易否定團(tuán)隊(duì)成員的想法。盡管檢驗(yàn)這些想法是非常重要的,但幾乎沒(méi)有什么想法會(huì)危險(xiǎn)到使我們來(lái)不及重新考慮一下我們的第一反應(yīng),就必須立刻否定。
          ??? >? 如果你不得不否定一個(gè)想法,那么一定要明確,你所否定的只是這個(gè)想法,而不是提出這個(gè)想法的人。解決問(wèn)題型領(lǐng)導(dǎo)者一直清楚地知道,并不是所有的想法對(duì)每個(gè)問(wèn)題都有幫助,但他們更知道,團(tuán)隊(duì)中的每一個(gè)成員都是有用的。
          ??? >? 在給出你的想法之前要先對(duì)它進(jìn)行檢驗(yàn)。沒(méi)有人可以聰明到提出所有建設(shè)性的想法,而一個(gè)喋喋不休地發(fā)表自己未經(jīng)仔細(xì)考慮的想法的人卻能有效地阻止其他人給出自己的想法。
          ??? >? 當(dāng)時(shí)間和人力吃緊時(shí),不要再考慮新的想法而應(yīng)該專(zhuān)注于現(xiàn)有的想法。
          ??? >? 鼓勵(lì)團(tuán)隊(duì)成員放棄以前曾經(jīng)成功過(guò),但并不適用于現(xiàn)在情況的想法。
          ??? >? 如果一個(gè)已被否定的想法對(duì)問(wèn)題的其他部分有價(jià)值,就應(yīng)該重新采納它。其實(shí)沒(méi)有絕對(duì)不好的想法,之所以“不好”只是因?yàn)樗鼈兂霈F(xiàn)在不適當(dāng)?shù)牡攸c(diǎn)或時(shí)間。

          posted @ 2006-03-18 06:44 fisher 閱讀(1348) | 評(píng)論 (1)編輯 收藏

          歡迎加入“osgi觀察者”googlegroup

          去年年底,osgi R4發(fā)布,eclipse建立equinox項(xiàng)目,標(biāo)志著以osgi為核心的組件管理模型正式進(jìn)入使用階段,鑒于今年年初jsr291的推出,osgi正式走向java世界的前端,遂建立osgi觀察者group,希望能同所有關(guān)心和喜愛(ài)osgi的國(guó)內(nèi)技術(shù)人員共同進(jìn)步。

          加入osgi觀察者:

          Google Groups Subscribe to osgi觀察者
          Email:
          Browse Archives at groups.google.com

          posted @ 2006-03-06 13:37 fisher 閱讀(1026) | 評(píng)論 (1)編輯 收藏

          主站蜘蛛池模板: 玉溪市| 灵台县| 平利县| 宁阳县| 房山区| 湘乡市| 大名县| 吉安市| 若尔盖县| 灯塔市| 永善县| 昭苏县| 乐亭县| 南汇区| 南和县| 湾仔区| 长顺县| 宜川县| 瓮安县| 忻城县| 泰顺县| 伊通| 长沙县| 西丰县| 大埔县| 黑山县| 石阡县| 项城市| 大安市| 苍梧县| 屏边| 连城县| 美姑县| 区。| 遂昌县| 宁津县| 翁源县| 潢川县| 年辖:市辖区| 百色市| 武鸣县|