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

          2006年4月25日

          一切都在變

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

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

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

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

          來自蘇聯的笑話

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

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

          [調查]國內有多少人使用MINA?

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

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

          隨想

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

          問題在于軟件開發驚人的困難,造成很少有開發人員能夠說出軟件自始至終是怎樣開發的,并能夠對這個過程中會遇到的不同選擇所隱含的結果表現出適度的理解。

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

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

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

          今天學會一個新名詞 - Troll

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

          • Troll

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

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

          • ???????????? -- 開始,僅僅是比較典型的"是否最優"探討,后來立即轉向人身攻擊,是經典的通過技術爭論引發回復的實例

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

          程序員的進化——從學生到首席執行官(轉)


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

          ? 程序員的進化——從學生到首席執行官

          翻譯 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 <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
          --------------------------------------------------------------------------------
          初級經理

          ? ? ? 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
          --------------------------------------------------------------------------------

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

          Hello World的196種寫法

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

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

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

          趴在窗戶上看長江

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

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

          關于人.....

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

          附一篇來自經濟觀察報劉軍的《笨蛋,最重要的是人!
          ---------------------------------

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

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

          主站蜘蛛池模板: 昌都县| 马龙县| 偃师市| 淅川县| 东明县| 湘阴县| 高唐县| 金溪县| 青浦区| 连江县| 通河县| 和龙市| 乐都县| 红河县| 景德镇市| 林西县| 岑巩县| 正蓝旗| 仁化县| 友谊县| 镇巴县| 大丰市| 湘潭县| 兰坪| 当涂县| 蒲城县| 开鲁县| 天长市| 滕州市| 阳朔县| 绵竹市| 盐源县| 新龙县| 崇州市| 汕尾市| 进贤县| 多伦县| 阿拉善左旗| 莒南县| 蚌埠市| 海安县|