一切都在變
blog也搬遷了:http://blog.sina.com.cn/liuwendao
來(lái)武漢快三年了,留在北京的最后一件物件-電吉它,也被我拿到武漢來(lái)了
我們這么混,能成功嗎?
立帖為證
posted @ 2007-09-16 23:21 fisher 閱讀(1468) | 評(píng)論 (0) | 編輯 收藏
隨筆 - 59, 文章 - 4, 評(píng)論 - 184, 引用 - 7
|
一切都在變blog也搬遷了:http://blog.sina.com.cn/liuwendao posted @ 2007-09-16 23:21 fisher 閱讀(1468) | 評(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í)到:一旦用COBOL、Java、C#等語(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)有。 posted @ 2006-07-24 11:31 fisher 閱讀(2257) | 評(píng)論 (6) | 編輯 收藏 今天學(xué)會(huì)一個(gè)新名詞 - Troll來(lái)自pythoncn的maillist,呵呵,挺有意思
另一方面,在郵件列表這種有管理員的公共空間,可以向管理員提出封禁trolls的 提案。
+-------------------+ .:\:\:/:/:. | PLEASE DO NOT | :.:\:\:/:/:.: | FEED THE TROLLS | :=.' - - '.=: | | '=(\ 9 9 /)=' | Thank you, | ( (_) ) | Management | /`-vvv-'\ +-------------------+ / \ | | @@@ / /|,,,,,|\ \ | | @@@ /_// /^\ \\_\ @x@@x@ | | |/ WW( ( ) )WW \||||/ | | \| __\,,\ /,,/__ \||/ | | | jgs (______Y______) /\/\/\/\/\/\/\/\//\/\\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
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 ? ? ? ? (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. ? ? ? 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. 如果將xwork.xml中的global-exception-mappings注釋掉便好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. 頭疼了幾個(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的地址,也就是將這句 ![]() ![]() ![]() ![]() 而實(shí)際上解析DTD是靠的前面那句 <!DOCTYPE?xwork?PUBLIC?"-//OpenSymphony?Group//XWork?1.1.1//EN"? 原來(lái)一直是![]() ![]() ![]() ![]() 多謝飛云小俠的幫助^_^ 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ī)方法》 而溫博格的寫(xiě)作方式,如同Ken在英文版序中所說(shuō),會(huì)引起大量的思考,對(duì)溫博格的文字的思考,思考對(duì)溫博格文字的思考,以及對(duì)自身思考的思考....通過(guò)溫博格的書(shū),讓我體會(huì)到的事是,讀書(shū),有時(shí)候是為了實(shí)用,而的有時(shí)候,則純粹是為了過(guò)癮。 下面的內(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)。 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觀察者:
posted @ 2006-03-06 13:37 fisher 閱讀(1026) | 評(píng)論 (1) | 編輯 收藏 |
|||||||||