|
2006年5月18日
blog也搬遷了:http://blog.sina.com.cn/liuwendao
來武漢快三年了,留在北京的最后一件物件-電吉它,也被我拿到武漢來了
我們這么混,能成功嗎?
立帖為證
軍事演習區,一位婦女駕車在大橋前被一名軍官攔?。骸皩Σ黄穑?,您現在不能過去?!薄盀槭裁??”“這座橋在一小時前被炸毀了?!薄澳芨嬖V我這究竟是怎么回事嗎?”“很抱歉,不行。我本人已于2小時前陣亡。” 伊萬看電視,是勃在演講。伊萬覺得無聊,換了一個,還是勃在演講,又換一個,還是他。伊萬一連撥了幾十個臺,最后累了,準備關電視。這時候電視畫面變成一個KGB,怒氣沖沖地叫:“你再敢換?再敢換?再換判你10年大牢!” 某日蘇聯舉行國慶**,沿著大街開來了炮兵、機械化步兵、坦克、自行火炮、戰術導彈、戰略核導彈,破壞力一個比一個大;隊列末尾卻是兩個帶公文包的矮子。在看臺上勃列日涅夫驚訝地說:“這兩個人破壞力比核導彈還大!他們是什么人?” KGB頭子說:“不是我的人。” 國防部長說:“沒見過他們?!? 蘇聯總理說:“他們是國家計委的...” 戈爾巴喬夫視察農場,看到豬兒乖乖,一時興起站在豬中間照了張像。 待到報紙準備發表時,編輯為照片的標題犯了難?? “戈爾巴喬夫同志和豬在一起”不好。 “豬和戈爾巴喬夫同志在一起”也不好。 報紙出版后,照片下的說明文字是?? “左起第三位是戈爾巴喬夫同志” 勃列日涅夫和美國總統卡特在瑞士開會,休息時間兩個人很無聊,就開始比誰的保膘更忠誠。卡特先來,他把自己的報膘叫進來,推開窗(外面是20層樓)說:“約翰,從這里跳下去!” 約翰哭著說:“你著么能這樣呢,總統先生,我還有老婆孩子吶?!? 卡特被感動了,流著淚說是自己不對,叫約翰走了,然后掄到勃列日涅夫,他也大聲叫自己的保膘伊萬。 “伊萬,從這里跳下去!” 伊萬二話不說就要往下跳,卡特一把抱住他說:“你瘋了?跳下去會死的!” 伊萬一邊掙扎著要跳下去一邊說:“放開我,混蛋,我還有老婆孩子吶。” 早年莫斯科修地鐵,工程師將方案上報斯大林審批。不久,方案發下來,上面有斯大林的簽字。 細心的工程師發現圖紙上多了一個圓型的茶杯印,于是莫斯科地鐵就多了一條環形線。 斯大林肅反時期的蘇聯。一位內務人民委員部審判員結束一天的審判工作,回到辦公室,突然一個人大笑起來。對面辦公桌的同事奇怪的問道:“有什么好笑的事嗎?”“是啊,”審判員用手帕擦著笑出來的眼淚:“一個很好笑的笑話……”“哦?說來聽聽?”“你瘋了嗎?!我剛判了說這笑話的家伙五年苦役!” 蘇聯30年代肅反擴大化時期。內務人民委員部的一間牢房里關了三個人,彼此間談起坐牢的原因。 第一個人說,我因為反對了黨書記彼得羅夫; 第二個人說,我因為支持了彼得羅夫; 第三個人說,我就是彼得羅夫。 戈爾巴喬夫和他的司機開著車在路上,戈爾巴喬夫突發異想,說:讓開!我來開。一個老警察和一個新警察在路上值勤,見一輛車歪歪扭扭的開得瘋快,老警察就對新警察說:去!好好收拾一下。新警察將車攔住之后,又沒趣沒趣地回來了。老警察問:怎么?里面是誰?新警察回答說:我也不知道里面是誰,反正給他開車的是戈爾巴喬夫。 美國外交代表團到蘇聯訪問,蘇聯接待官員陪他們參觀“建設的偉大成就”,并且得意的說:“到了下一個五年計劃,每個蘇聯家庭都可以擁有一架私人飛機!”美國人驚訝的問:“ 他們要飛機干什么呢?”蘇聯官員說:“當然有用啊……譬如你在莫斯科聽說列寧格勒開始供應面包了,你可以馬上開著飛機趕去排上隊。” 一位公民打電話到基輔電臺問主持人:“共產主義到底是藝術還是科學?” 主持人說:“我也不清楚,但我肯定不是科學” “為什么?” “如果是科學的話,他們應該拿狗做試驗。” 斯大林在大會上引經據典地說:“馬克思和列寧說1+1=2,而托洛茨基和布哈林說1+1不等于3。是托洛茨基和布哈林說的對呢?還是馬克思和列寧說得對呢?”下面聽眾一臉疑惑,“毫無疑問,是馬克思和列寧說的對!”底下熱烈鼓掌,“托洛茨基和布哈林是帝國主義派來的間諜,說1+1不等于3的人罪不容赦……” 列寧快去世了,叫趕快把繼承人斯大林召進克里姆林宮來,臨終有幾句話要囑托。“不瞞你說,我還有一個隱憂啊,斯大林?!薄罢f吧,親愛的伊里奇。”斯大林專心地聽著?!澳蔷褪?,人們會跟你走嗎?不知你想過了沒有?”“他們一定會跟我走的?!彼勾罅謴娬{說,“一定會!” “但愿如此。”列寧說,“我只是擔心,萬一他們不跟你走,你怎么辦?”“沒問題!”斯大林答道:“那他們就得跟你走!” 集體農莊莊員伊萬在河里捉到一條大魚,高興的回到家里和老婆說:“看,我們有炸魚吃了!” “沒有油啊?!? “那就煮!” “沒鍋。” “烤魚!” “沒柴?!? 伊萬氣死了,走到河邊把魚扔了回去。那魚在水里劃了一個半圓,上身出水,舉起右鰭激動地高呼:“斯大林萬歲!” “瑞典能否建立共產主義”? “不能?!? “為何?” “列寧同志說了:共產主義不在山那邊?!? 一個蘇聯KGB特工和一個美國CIA特工互相吹噓各自的機構是如何的杰出。 那個KGB特工首先發言說,“我們擁有你們美國過去15年里所有導彈發射的詳細數據?!? CIA特工說:“這不算什么。我們CIA掌握著你們蘇聯未來15年里所有當選的中央委員名單?!? 一艘航行在大海上的輪船快要沉了,船長叫乘客趕緊跳海,但他喊了半天沒有一個人跳,一個社會學家說我來喊,他去喊過之后所有的人都跳下海去了。船長覺得奇怪,問他是怎么喊的,社會學家回答說:我對法國人說這樣跳下去很浪漫,我對西班牙人說這樣跳下去很瀟灑,我對英國人說這樣跳下去是一種體育運動,我對美國人說這樣跳下去有利可圖,我對蘇聯人說這樣跳下去是革命行動。 在蘇聯的一趟公交車,一個男的非常謙恭地問站在他身旁的另一個男的:“同志,請問您是克格勃嗎?” 那人答道:“不是?!? 又問:“那您有沒有親戚或朋友是克格勃呢?” 答:“沒有?!? 還問:“那您是否跟克格勃有些交往或聯系?” 答:“沒有,你要干嘛?。 ? 該男生氣地說:“干嘛,他媽的,你踩著我的腳了!” 赫魯曉夫作報告,批判斯大林。忽然,有人從臺下遞了個紙條,寫道:當他做壞事的時候,你在哪里?赫魯曉夫一看這個條子,大聲怒喝道:“是誰寫的,給我站出來?!迸_下雅雀無聲,沒有人站出來。赫魯曉夫接著說道:“同志們,我當時就和你們現在一樣,你們知道我當時為什么不敢站出來了吧” 勃列日涅夫:同志們,美國人登上了月球,我們不能再等了,黨決定讓你們上太陽。 宇航員:總書記同志,我們會被燒死的。 勃列日涅夫:沒關系,同志們,黨都替你們想好了,你們晚上去。 電影《這里的黎明靜悄悄》試映時,由于其中有部分裸體鏡頭,因此主管電影審核的官員曾試圖把這部電影禁演,幸虧勃列日涅夫內部觀看時感動得熱淚盈眶,這部優秀的電影才有幸與觀眾見面,成為世界電影史上不朽的篇章。而另一部電影由于其中有主人公走到教堂時跪地痛哭的鏡頭,被電影審核官員認為是宣揚宗教而準備勒令裁掉這部分內容,恰恰勃列日涅夫看到這里時動了感情,因此這個鏡頭得以幸存下來。 當年的捷克斯洛伐克政府中,設立了一個“海軍部”,結果,蘇聯老大哥就對捷克人說:你們是內陸國家,設什么海軍部? 捷克人回答說:那你們不是也設了文化部嗎?
最近看到越來越多的人使用mina,甚至在線下也碰到合作公司的庫中使用MINA,出于好奇,嘗試一下用自己的blog做一下調查,訪問本blog的兄弟,如果您使用MINA作為自己的通訊基礎件,請留言介紹一下自己
軟件開發的世界里充滿了不理解, 客戶不理解軟件是怎樣開發的、經理不理解開發人員、開發人員不理解指揮者。問題在于軟件開發驚人的困難,造成很少有開發人員能夠說出軟件自始至終是怎樣開發的,并能夠對這個過程中會遇到的不同選擇所隱含的結果表現出適度的理解。 在軟件開發人員還很年輕的時候(十幾歲或二十出頭),他們通常集中精力學習和使用技術,稱自己為perl程序員、Linux專家、EJB開發人員、.NET開發人員等。對他們來說技術是最重要的事情。因為技術在不斷的變化,年輕的程序員傾向于大致學習一個技術,在一到兩個項目中使用,然后重新開始學習新技術或者是學習以前使用過的技術的最新發展。這里的問題是,他們一遍又一遍的重復的學習的不過是同樣的低層次基本技能的不同風味。 幸運的是,很多開發人員在經過了幾輪技術學習之后逐漸意識到:一旦用COBOL、Java、C#等語言為事務控制編寫過代碼,就會開始認識到基本的、本質的東西是不變的。不同環境下的數據庫訪問、用戶界面設計等領域也是同樣的情況。不久以后,開發人員逐漸認識到無論具體的技術怎樣,很多基礎性的東西是保持不變的,這些基礎性的東西有的在學校里講過,有的沒有。 這種認識經常發生在開發人員接近三十歲或剛過三十歲的時候,通常是人們開始穩定下來,結婚、買房的時候。這是比較幸運的情況,因為上面提到的這些新的個人需求意味著他們不可能再投入大量的時間去學習新的技術,他們需要用這些時間和家庭成員在一起。突然的,高層次的角色如項目負責人、項目經理、(非敏捷的)建模人員等對他們變得非常有吸引力,因為這些角色不需要持續花費大量的時間和精力去學習新技術。于是,等到開發人員開始真正學到技藝的時候,他們已經處于離開開發人員角色的轉變過程中了。所幸的是,新的“小年輕”不斷的跟上來,這個過程在不斷的循環重復。最終的結果是:大部分最活躍的正在開發軟件的人通常不是最稱職的做這件事的人,而他們自己甚至還不知道。
來自pythoncn的maillist,呵呵,挺有意思 ------------- 像Chris Qie <longroad1999@gmail.com>這樣的在公共論壇用侮辱性言語挑起罵戰并從中獲取某種不知名快感的人,在Usenet文化中有一個名稱:
-
Troll
。
- Troll作動詞是釣魚的意思,指那些人發表某種言論后等待別人的攻擊性回復,從而獲得快感。Troll還有一個意思是斯堪的納維亞神話中一種長相丑陋、愛惡作 劇、令人討厭的巨人,和那些找罵的人有相似之處,因此也被引申過來形容那些 人,做名詞使用?;豻roll的貼則被稱為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______)
/\/\/\/\/\/\/\/\//\/\\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/*-------------------------------------------
? 程序員的進化——從學生到首席執行官
翻譯 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 --------------------------------------------------------------------------------
|