網頁

搜尋此網誌

2010年2月21日 星期日

Geoff Colvin: Talent is Overrated 我比別人更認真

t5318019®推薦一書,也是誠品2009年12月的誠品選書(Eslite Recommends),書名是:
Talent is Overrated:
What Really Separates World-Class Performers From Everybody Else.
我比別人更認真:
刻意練習讓自己發光

這本書是偶然在書店看到的,書名當然是吸引人的地方(問題是英文書名跟中文有點不相關),但內容才是重點,內容有些許類似麥爾坎‧葛拉威爾(Malcolm Gladwell)的「異數:超凡與平凡的界線在哪裡?」一書,葛拉威爾的論述著重於超凡成功的原因,超凡成功不是你我想像中那樣簡單容易的事情?超凡成功如同「一命二運三風水,四積陰德五讀書」這句話已經決定了!這讓人有些許消極與失望。

柯文(Geoff Colvin)著,周宜芳譯,我比別人更認真:刻意練習讓自己發光,台北市:天下遠見,2009。

然而,柯文(Geoff Colvin)這本書裡面闡述了一個精神:「Talent is Overrated.」,成功卓越這件事情其實也不是自己無法邁進前往的目標。我目前僅讀了3章,卻迫不及待想和大家分享書中的心得感想:
  • 第1章敘述成功卓越的原因,不外乎兩個原因:努力天賦,但作者柯文提出解釋,努力不一定會成功卓越,而天賦也跟成功卓越沒有絕對關係。
  • 第2章則再度舉例天賦觀點的問題,很多看似具有天賦的成功卓越者,其實都是跟家庭的栽培很有關係,如莫扎特和老虎伍茲(他們的父親傾心教導的原因),此章節質疑天賦觀點。
  • 第3章排除努力與天賦觀點的成功卓越之路,我們一般認為成功卓越者一定都是較聰明的人,事實上不盡然如此,聰明常與記憶力智商兩個觀念有關,但研究指出,記憶力是可以訓練的,而智商和處理事情的複雜度有關,而與成功卓越無關,只是通常社會地位高的工作,其複雜度較高,智商較高者比較適合從事該項工作,因此我們以為成功卓越者(社會地位高)的人是較聰明的!
全書總共11章,後續會陸續分享書中的觀點給大家,也推薦各位可以買(借)來閱讀看看,非常值得一讀的書籍。有段話t5318019®個人覺得值得品味思考,是王品集團董事長 戴勝益寫的推薦序:
人若有才無德,則才能不是發揮一半,而是毫無作用。
有企圖心而無持續力,則企圖心只會成為幻影,完全沒有任何作用。
有執行力而無恆心者,則只會空留遺憾。

「我比別人更認真:刻意練習讓自己發光」內容大綱:
取自http://www.bookzone.com.tw/Publish/book.asp?bookno=BPB001

小時候你也許從大人那裡聽過,如果要出人頭地,成為各行各業的頂尖人物,像是邱吉爾、莫扎特、巴菲特,甚至是老虎伍茲這樣的人,你從小就必須埋頭苦幹。

不過事實還不僅如此,所有我們看得到的天才人物其實必定經過「刻意練習」(deliberate practice)的洗禮,對練習結果進行分析,從失敗中吸取教訓,以科學的方法進行苦練,才有可能斬露頭角,讓所有人刮目相看。

《Fortune》雜誌曾刊登過一篇非常受讀者歡迎的封面報導,名為《如何成就偉大》。於是雜誌的資深主筆柯文在讀者的期盼下,將這篇經典的封面文章寫成了這本書,為讀者揭開成功的奧秘。

成功不是僅僅取決於你的IQ或者EQ,成功的祕密也不在於「老天賞飯吃」,更不是自己埋頭「瞎練」就能達到目的。本書以科學的研究成果輔以實際的案例,鋪陳出「刻意練習」的機制:用持續乃至終身的時間,有目的地努力提高具體某個領域的表現水平,不論在商界、體育、音樂、醫學、象棋、科學和數學,包括談判、理財等每個領域都能依照這個成功法則來習得。

2010年2月17日 星期三

Albert Camus: L’Étranger 卡謬 異鄉人

此篇介紹一本小說,作者是卡謬(Albert Camus),生於北非阿爾及利亞(曾經是法國殖民地),這本書是麥田出版,原著是1942年法文撰寫而成,麥田出版的異鄉人(L’Étranger)翻譯的很好,值得推薦,加上書籍前面有麥田編輯部整理的卡謬介紹,可見出版社的用心。

卡謬(Albert Camus)著,張一喬譯,異鄉人,台北市:麥田出版,2009。

L’Étranger

下文取自麥田出版http://www.cite.com.tw/product_info.php?products_id=15902

我知道這世界我無處容身,
只是,你憑什麼審判我的靈魂?

他們說,媽媽死了,我沒哭;這是無情,該死。
隔天就和女友廝混;這是不孝,該死。
挑撥朋友仇家互鬥;這是不義,該死。
我合該天地不容,人神共憤,但你們企圖用來拯救我的那一套,又算什麼?

我殺了人,只因為夏日陽光刺眼太熱。
世界總是喋喋不休地告訴人們,行為舉止甚至思想應該如何符合社會約定俗成的,種種道德規範下的節度。

但是,莫梭,一個居高臨下的鳥瞰者,冷靜自持,無動於衷,漠視七嘴八舌急於發表意見和批判的群眾。他倦於給出令眾人滿意的標準答案,他對合乎禮俗但不合於自己真實感受的事物,無法找到適當的對應方式和距離,於是,他被大加指責為無情、不孝、不義。

莫梭不知道在與世界衝撞的窘境下,自己存在的價值和意義。他鳥瞰自己,也鳥瞰他人,探索內在情感與外在世界的關係,他還沒找到答案,如何給別人(何況是別人「想要的」)答案?

在這種種荒謬的情境中,莫梭凸顯了「獨立的個人」的困窘。

在他沒找到答案之前,(可能窮極一輩子都在摸索)他注定是:一個心靈上永遠的異鄉人,一個與既定的社會格格不入的局外人。

卡繆形塑的「現代荒謬英雄」莫梭於焉誕生,深深地影響了後世無數孤獨靈魂,得以正視我們混亂、無依的處境。

會看這本書的原因起於:將勳先生的孤獨六講,蔣勳提到異鄉人中的主角「莫梭(Meursault)」,整本小說分成兩大部分,第一部分敘述莫梭(Meursault)這個主角,在第一部分結尾,主角殺害了一個人,第二部分則敘述莫梭(Meursault)審判的經過,整個故事充滿了「荒謬」,真的是「荒謬」極了,書中的一些觀點挺令人省思!我自己讀完異鄉人後,在心中留下些許震盪,書中的故事實在無法用言語形容(至少目前我不知道如何形容),非常值得推薦。

2010年2月15日 星期一

Daniel H. Pink: A Whole New Mind 未來在等待的人才

最近上班的時候,因為自己感受到主管們對於員工的期望,特別在此談談「人才」的課題,一群主管老闆們都希望找有經驗、有能力的人,言下之意就是:現在這些人都是沒能力沒經驗的嗎?我不知道,一針見血。

同樣的,介紹一本書,推薦,作者是丹尼爾‧品克(Daniel H. Pink),中文書名是「未來在等待的人才」,原文其實是「A Whole New Mind: Moving from the Information Age to the Conceptual Age」。

此書的觀點有點類似「全腦開發」,正如同書名「A Whole New Mind」所表示(雖然中文不是這樣翻譯)。在以前的時代,社會的演進造就左腦思維的發展與標準化,隨著富裕的時代、亞洲的崛起、自動化的工業時代來臨,一波一波的人才替換,目前正處於新的轉變,於是作者提出「右腦思維」的全新心智發展,也就是本書的「A Whole New Mind」。

左腦偏向於循序、邏輯、解析的思考模式,專長循序思考、擅長本文主題   、擅長分析事物、解析細節、掌管語言文字的處理。而右腦則偏向於非線性、直覺、宏觀的思維,專長整體思考、觀察情緒和肢體動作、擅長凝聚要旨、掌管背景資訊的處理。兩腦(左腦與右腦)各自有其功能,我們必須平衡發展。

丹尼爾‧品克(Daniel H. Pink)著,查修傑譯,未來在等待的人才,台北市:大塊文化,2006。

先看看這本書的介紹:參考大塊文化網站http://www.locuspublishing.com/Book2.aspx?bokno=1111FM036

這個世界原本屬於一群高喊知識就是力量、重視理性分析的特定族群──會寫程式的電腦工程師,專搞訴狀的律師,和玩弄數字的MBA。如今,世界將屬於具有高感性能力的另一族群──有創造力、具同理心、能觀察趨勢,以及為事物賦予意義的人。我們正從一個講求邏輯與計算機效能的資訊時代,轉化為一個重視創新、同理心,與整合力的感性時代。如果你是對現有工作和生活不滿足的職場人士、或是急於想了解下一波潮流的創業家與企業領導人、乃至於關心自己下一代未來的父母,或是兼具敏銳情感和靈活創意,卻在資訊時代備受忽略與貶抑的族群……本書將提供六種攸關最近的未來有無前途的關鍵能力,它們分別是:
  • 一、不只有功能,還重設計。
  • 二、不只有論點,還說故事。
  • 三、 不只談專業,還須整合。
  • 四、不只講邏輯,還給關懷。
  • 五、不只能正經,還會玩樂。
  • 六、 不只顧賺錢,還重意義。
藝術家、發明家、設計師、說故事高手、看護者、諮商員、及宏觀人士,將成為下一波職場新貴,入主社會高報酬階級,坐享快意人生。

高感性(High Concept)指的是觀察趨勢和機會,以創造優美或感動人心的作品,編織引人入勝的故事,以及結合看似不相干的概念,轉化為新事物的能力。

高體會(High Touch)則是體察他人情感,熟悉人與人微妙互動,懂得為自己與他人尋找喜樂,以及在繁瑣俗務間發掘意義與目的的能力。

看完後,整本書講那麼多,其實就是要我們平衡發展自我的能力,「人」是多個面向組成的完整個體,偏頗哪一面向都不太好,無法成為一個「全人」。我自己目前就是朝向這個目標邁進,準備好自己的能力,等待機會的降臨,期望能改變這個環境。

虎年愉快,大年初二,記於台北。

2010年2月3日 星期三

Ajax: Asynchronous JavaScript XML

談談Ajax這項技術概念,Ajax(第一個字母大寫)名詞代表的是「Asynchronous JavaScript + XML」,由Jesse James Garrett所創造一個新名詞,大概在2005年中對Web Application產生衝擊,大概是2006年時風靡所有的網頁設計與開發人員(2006年幾乎一堆出版社都在發行相關書籍),現在幾乎所有的網站都會使用Ajax以提高瀏覽網頁的品質,這篇文章「adaptive path » Ajax: A New Approach to Web Applications」是最多人看也是最多人引用的一篇。

值得一提的:Ajax不需要Server端的技術支援,也就是一般的Web Server就可以支援Ajax技術,Ajax完全是用Browser的技術,目的是達到非同步的請求,提高使用者友善的瀏覽體驗。這一點是我在當時學習Ajax所疑惑的問題,與大家分享。

談到Browser,也是這篇文章所撰寫的目的:談談Ajax與JavaScript。

這裡使用jQuery 1.4.1說明如何解決跨瀏覽器的相容性問題,下方這段程式碼目的是判斷瀏覽器是否支援XMLHttpRequest物件(Extensible Markup Language / Hypertext Transfer Protocol,簡稱XMLHTTP),如果不支援則使用ActiveXObject物件(這是Microsoft Internet Explorer特有的問題,版本IE5和IE6)。
ajaxSettings: {
 url: location.href,
 global: true,
 type: "GET",
 contentType: "application/x-www-form-urlencoded",
 processData: true,
 async: true,
 /*
 timeout: 0,
 data: null,
 username: null,
 password: null,
 traditional: false,
 */
 // Create the request object; Microsoft failed to properly
 // implement the XMLHttpRequest in IE7 (can't request local files),
 // so we use the ActiveXObject when it is available
 // This function can be overriden by calling jQuery.ajaxSetup
 xhr: window.XMLHttpRequest && (window.location.protocol !== "file:" || !window.ActiveXObject) ?
  function() {
   return new window.XMLHttpRequest();
  } :
  function() {
   try {
    return new window.ActiveXObject("Microsoft.XMLHTTP");
   } catch(e) {}
  },
 accepts: {
  xml: "application/xml, text/xml",
  html: "text/html",
  script: "text/javascript, application/javascript",
  json: "application/json, text/javascript",
  text: "text/plain",
  _default: "*/*"
 }
}

關於Ajax的底層技術也可以參考:
  1. XMLHttpRequest Object:http://msdn.microsoft.com/en-us/library/ms535874(VS.85).aspx
  2. Scripting and Ajax - W3C:http://www.w3.org/standards/webdesign/script
  3. XMLHttpRequest:http://www.w3.org/TR/2009/WD-XMLHttpRequest-20091119/
另外,使用Ajax不外乎就是操作DOM(Document Object Model,文件物件模型)BOM(Browser Object Model,瀏覽器物件模型),兩者關係如下:
  • BOM
    • window物件(全域物件,BOM核心)
      • location物件
      • history物件
      • screen物件
      • navigator物件
      • DOM(document物件)
        • body物件
        • cookie物件
其模型架構如清單所示,window物件之中有五個子物件,比方說要存取document的cookie物件,則用window.document.cookie的語法,而window可以省略,因為window是預設的全域物件,所有JavaScript宣告的物件基本上預設都在這個範疇內。

2010年2月2日 星期二

Windows Programming 視窗程式設計

談談Microsoft Windows視窗程式設計,想要在Windows作業系統上開發視窗程式,主要有幾個方法:
  1. 使用Windows API
  2. 使用MFC(Microsoft Foundation Classes)
  3. 使用Windows Forms
以系統的視野(view)來看:Windows API最底層,MFC中間,Windows Forms最上層,開發與使用程度來說是Windows Forms最簡單方便,最底層的Windows API則是最不容易使用(但還是可以用,基礎是最重要)。

此篇主要討論利用Windows API開發視窗應用程式的觀念,不例外的推薦一書:
Jeffrey Richter, Christophe Nasarre 著,葛子昂、周靖、廖敏 譯,Windows應用程式開發經典,台北:悅知文化,2009。

Windows視窗程式設計可以參考MSDN的資料,這些都是基本觀念,值得一看,所謂「Basic is important」。
  1. What Is a Window?:http://msdn.microsoft.com/en-us/library/ff381403(VS.85).aspx
  2. WinMain: The Application Entry Point:http://msdn.microsoft.com/en-us/library/ff381406(VS.85).aspx
  3. Module 1. Your First Windows Program:http://msdn.microsoft.com/en-us/library/ff381409(VS.85).aspx
其中有個重要的觀念:Window Handles(控制代碼)

Windows are objects — they have both code and data — but they are not C++ classes.

Instead, a program references a window by using a value called a handle(控制代碼). A handle is an opaque type. Essentially, it is just a number that the operating system uses to identify an object. You can picture Windows as having a big table of all the windows that have been created. It uses this table to look up windows by their handles. (Whether that's exactly how it works internally is not important.) The data type for window handles is HWND, which is usually pronounced "aitch-wind." Window handles are returned by the functions that create windows: CreateWindow and CreateWindowEx.

在Windows視窗程式設計當中,Windows提供一系列的核心物件(Kernel Object)讓我們使用,這稱為平台叫用(Platform Invocation, P/Invoke),也就是Windows API,為了使用這些核心物件,呼叫時必須指定核心物件,而這些控制代碼(Handel)就是代表這些核心物件的識別名稱(32位元的Windows是一組32位元的資料,而64位元的Windows是一組64位元的資料),有點類似C/C++的指標。

平台叫用可以參考:
注意到,這裡的Windows物件不是物件導向的物件觀念,Windows物件類似C/C++的結構(Structure),用於表示記憶體中的一塊資料。

另外,Windows視窗程式設計是事件驅動()的方式,觀念和一般傳統的程序程式設計有些差異,都是依賴訊息(Message)溝通,參考:
  1. About Messages and Message Queues:http://msdn.microsoft.com/en-us/library/ms644927(VS.85).aspx
  2. Window Procedures:http://msdn.microsoft.com/en-us/library/ms632593(VS.85).aspx
若是使用.Net Framework開發應用程式的話,而必須使用P/ Invoke平台呼叫,兩者的資料類型不太一樣,請參考Platform Invoke Data Types:http://msdn.microsoft.com/en-us/library/ac7ay120.aspx

Unmanaged type in Wtypes.h Unmanaged C language type Managed class name Description
HANDLE void* System..::.IntPtr 32 bits on 32-bit Windows operating systems, 64 bits on 64-bit Windows operating systems.
BYTE unsigned char System..::.Byte 8 bits
SHORT short System..::.Int16 16 bits
WORD unsigned short System..::.UInt16 16 bits
INT int System..::.Int32 32 bits
UINT unsigned int System..::.UInt32 32 bits
LONG long System..::.Int32 32 bits
BOOL long System.Int32 32 bits
DWORD unsigned long System..::.UInt32 32 bits
ULONG unsigned long System..::.UInt32 32 bits
CHAR char System..::.Char Decorate with ANSI.
LPSTR char* System..::.String or System.Text..::.StringBuilder Decorate with ANSI.
LPCSTR Const char* System..::.String or System.Text..::.StringBuilder Decorate with ANSI.
LPWSTR wchar_t* System..::.String or System.Text..::.StringBuilder Decorate with Unicode.
LPCWSTR Const wchar_t* System..::.String or System.Text..::.StringBuilder Decorate with Unicode.
FLOAT Float System..::.Single 32 bits
DOUBLE Double System..::.Double 64 bits

附註:Windows系統的實用工具,請參考Windows Sysinternals http://technet.microsoft.com/en-us/sysinternals/default.aspx

熱門文章