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

          2006年5月17日

          一切都在變

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

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

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

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

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

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

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

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

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

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

          隨想

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

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

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

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

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

          今天學(xué)會一個新名詞 - Troll

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

          • Troll

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

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

          • 下圖是我從c.l.python上Keith Thompson對Xah Lee的trolling行為提醒公眾的帖子中拷貝過來的圖片(請使用等寬字體觀看)
                  +-------------------+             .:\:\:/:/:.
                 |   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的無奈

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

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

          posted @ 2006-06-13 10:27 fisher 閱讀(13592) | 評論 (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é)一年級

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

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

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

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

          ? ? ? #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īng)理

          ? ? ? 10 PRINT "HELLO WORLD"
          ? ? ? 20 END
          --------------------------------------------------------------------------------
          中級經(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ī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 閱讀(1059) | 評論 (0)編輯 收藏

          Hello World的196種寫法

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

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

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

          趴在窗戶上看長江

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

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

          主站蜘蛛池模板: 炎陵县| 景洪市| 土默特左旗| 怀来县| 大洼县| 项城市| 阜康市| 泰安市| 图木舒克市| 伊金霍洛旗| 澳门| 双城市| 沁源县| 郎溪县| 承德县| 瑞丽市| 连平县| 江山市| 嘉义县| 松滋市| 平乡县| 临沂市| 吴堡县| 杭州市| 会泽县| 沙河市| 深圳市| 察雅县| 鸡西市| 资源县| 西宁市| 邮箱| 灯塔市| 昔阳县| 尚义县| 黑山县| 漾濞| 黄大仙区| 米泉市| 阳江市| 晋江市|