第十六屆交大高階經理人培訓班第十二課

終於到了領結業證書和 $$ 的最後一堂課.這次的講師是電信 67 級的焦佑鈞學長, 焦學長的生平在維基和百度百科都查得到. 他除了是華邦電子的董事長之外, 也曾經是電子電機公會的理事長, 目前也是名譽理事長. 由於電電公會的經歷, 焦學長的講題也和其他人不一樣, 叫做: “歷史. 國家政策與創新發展".

學長說, 1987 他創立了華邦電子, 前前後後, 不少同業都在這個時候成立公司, 像台積電也是 1987 年成立.但是經過了數十年, 有些公司表現比較好, 而有些比較差,他會思考哪裡造成了差異.像是 2000 年的 TSMC 和 UMC, 到底做了什麼不同的選擇? 從歷史上來看, 關鍵時期的小差異, 就造成了東歐與西歐的不同, 公司也是如此.

黑死病同樣造成東歐與西歐的人民大量死亡, 但東歐的農民鬆散, 造成農奴制度的強化, 使得人民愈加貧窮. 而西歐的勞工爭取了權益, 制定各種法律, 最後整個國家變得富裕.當然, 進一步地想, 為何有的鬆散? 有的團結呢? 有篇文章做了整理. 它說: “不同政教关系对社会发展的影响、绝对君主制的控制方式、对中世纪晚期和近代早期“ 封建主义危机”迥然不同的反应、东西欧农奴制的发展、东西欧之间不对称的“ 边缘- 核心” 关系的发展等。[1] 簡單地說, 主要原因是宗教, 衍生因素的中產階級的多元化程度不同. 

1993 年, IBM 也遇到經營的危機. 他們擅長的大型主機被 PC 打敗.不過他們改變方向後就活了回來 – 創新的思路是主要原因. 蘇聯一開始也風風光光, 和資本主義世界互相頡頏, 但是在吃大鍋飯,缺乏創新誘因的情況下, 久而久之就陷入惡性循環. 如共產主義這樣一個重大政策或許有短期的好處,但是缺點可能需要 30 年的時間才會顯現. 30 年恰好是一個人的事業長度,等到為政者自己都退休了, 卻把問題留給了子孫!

那麼我們能不能那麼我們能不能在剛開始的前 1/3、1/2 時間內就先看出問題所在, 而不需要等到問題完全浮上檯面呢? 此時最大的問題在於政策都有既得利益者,這些人會畏懼破壞性的創新, 所謂廣納性的制度 – 我想是指開放的制度, 就會沒有辦法自保. 也就是初期可以大鳴大放, 後面就墨守成規, 或者一昧偏向當權的官商.

舉例來說, 威尼斯是中世紀最富裕之地,據說當時有3 萬 6 千位水手, 以及 3300 艘船 [2]. 而"國家為什麼失敗?"[3] 這本書, 將威尼斯的盛極而衰歸因於: 大議會的成員為了鞏固自己的既得利益,將成員改為世襲制, 因此愈來愈保守, 人才也不願意再進來.

其他既得利益者的例子包括 “科技界" 的 William Lee. 在伊莉莎白女王一世的時代, 它就發明了做襪子的機器, 但是女王不讓他申請專利.原因是這會剝奪窮人的工作權. 等到女王駕崩, 繼位的詹姆士一世同樣否決襪子機的專利, 因為如果機器生產太方便, 遊手好閒的人可能會閒閒沒事幹來反對政府.因此, 大致可以得到 “企業做得愈好就愈難應付破壞式創新" 的結論 – Nokia, 宏碁都是這樣.

為了避免把過冬的脂肪都給減掉了,因此要鼓勵終身學習. 只有不斷地學習, 才有機會看到自身的缺點. 電子業可以說每天都在做維持性的創新- 例如解 bug.每次解掉 bug 也都有一點進步, 不過破壞性的創新就需要透過另外的學習管道.

另外學長談到政策的制定並不是容易的事, 以電電公會接觸到的能源政策來說, 就需要考慮到下面幾件事情: 能源配比、國家安全、人民生活、經濟發展、地球永續、科技內涵等等面向. 因此, 這個政策最後是由國家主導, 而不適合公投. 能源配比的部分, 就是國家應該決定火力、水力、太陽能、核能等等各自應該佔發電量的多少比例. 今天就算試問一個支持核能的人, 核能應該佔國家發電量的多少比例, 他也不一定答得出來, 更不用說有什麼共識了.

以上省略 300 字, 不特別詳述每個思考角度的細節. 簡單地說, 如果政府要推動太陽能, 就要像德國一樣. 因為民間用電的電費太貴了, 所以用太陽能就會覺得很划算. 另一方面, 看來德國的工業的電費貼補非常大啊! 以下是每度電多少錢 (看起來是台幣). 台灣的電價是漲價前吧!

國家 民間電費 工業電費
德國 10.0318 4.4040
美國 3.5191 1.9835
台灣 2.7189 2.5218

學長說,要讓人民正確的選擇想要使用的能源, 就不要貼補電價. 唯有反映成本的電價, 才能讓民眾公平的決定要選什麼能源 – 假如要公投的話. 不過民眾更擔心的是, 電價之所以會貴, 都是既得利益者太浪費 – 黑箱作業 – A 錢的關係, 而不是真正反映成本吧! 倒是油電雙漲之後 (健保補充費竟然也收了 300 億元) 政府的籌碼變多了, 這對政府展現施政能力是件好事. 不過, 我想,收了錢不幹事, 罵聲可能會更大…

政府的收入共有三種: 稅、費、與資產管理. 而稅的來源包括人民的收入、消費、和資產. 當我們想要加稅, 首先就會想到要找富人. 那麼收入高的、消費多的、和資產多的, 誰才是富人呢? 就源課稅的話, 我覺得是收入高的是富人. 若是老伯伯花了 50 年時間拾荒, 省吃儉用,買了磚塊水泥, 終於自力蓋了一間社區圖書館, 他也絕對不應該是被收稅的主要對象.

學長說到, 因為人民想要當家作主, 因此都不希望把錢繳給國家. 因此營利事業所得稅的稅率就只剩下 17%, 難以調高. 如果政府自己嫌錢不夠, 更是不應該把錢用在補助上面, 而是應該用在資本支出. 舉例來說, 台電的林口和大林火力發電廠, 在更新機組之後, 不但發電量上升 42%, 碳排放量也降低到 1/3 (此數據是上課筆記). [4] 總而言之, 同樣一件事對不同的人有不同的得失, 所以學長出了個 homework,要我們分析匯率高低到底各自對那些人有利.

講完了政策, 後面主要講創新. 創新是人的天性,企業的創新則需要練習. 因此學長把他在華邦電子的創新經驗和我們分享. 這邊會提到很多書和工具, 當同仁發現某本書不錯, 或是某個制度不錯, 就會推薦給學長. 學長如果覺得好, 就會直接在公司推行. 因此我也把書單和創新工具分開說明.

[書單]

1. 創新的兩難, Claton Christinson.看其他書之前可以先回顧經典.

2. 借用創意 (Borrowing Brilliance), David Murray. 界定問題最重要, 其他可以借用別人的成果, 用在新的領域.

3. 獲利世代 (Business Model Generation), 亞歷山大·奧斯瓦爾德…等 

4. 創新拼圖下一步:把創意變現的成功心法 (The Wide Lens: A New Strategy For Innovation), Ron Adner. 創新需要生態系統, 所以要先讓利給既得利益者.

5. 書名沒抄到, Jim Collins. 難道是 Great by Choice?

6. 隱形冠軍:21世紀最被低估的競爭優勢, Hermann Simon, 這本是講中小企業.

[工具]

1. K.T. Process, 查理斯凯普纳(Charles H.Kepner)与班杰明崔果(Benjamin B. Tregoe)的理性管理程序 [5][6]. 據說華邦的新人訓要上這個 KT.

2. Triz process, 工研院推行的工具, 華邦也將它引進.[7]

到此課程講完, 接下來就是 Q&A. 校友會執行長問學長如果是總統要做什麼? 學長說, 他當理事長的時候, 也只想到怎麼幫助政府而已. 另外, 當理事長是服務性質, 不像是在公司裡面董事長說了算. 所以在自已的公司還是比較好發揮. 細節的部份,我就先不寫了.我想把那幾本書看一下.

學長是個喜歡思考的人, 也有開放的態度不斷改革, 這點很讓人佩服. 課後我從他的手上接過結業證書, 也從助理的手上收回押金 7,000 NTD. 雖然我拿了錢不久就落跑了, 沒有撐到學長離開, 但還是要感謝校友會舉辦這次的活動, 包括兩位助理小姐的服務, 還有我們的組長美貞.

[REF]

1. 为什么中东欧落后于西欧?

2. 威尼斯

5. KT問題管理模式之研究

6. Kepner-Tregoe Situation Appraisal

7. Triz, A Powerful Methodology for Creative Problem Solving

PC 當機的原因

前幾天,我那堪稱身強體壯的電腦居然當機了!這個問題源自於那天陪女兒去光南買文具時,意外看到 NBA2K14 的海報,它才賣 880 NTD 耶…, 一時衝動我就“支持原版“了。(不想支持原版的,請找大陸同胞就對了。)誰知這個遊戲讓我一跑就當機,從此開啟了我為期兩週的修電腦夢魘。

新遊戲導致當機當然先懷疑軟體,上網 Google 了一下,確實有類似的災情。這些網站上的好心人, 除了教人檢查CPU、顯示卡、記憶體、電源供應器等硬體之外,聽起來最合理的解法, 就是更新顯示卡的驅動程式和安裝 visual C run time library.

雖然這些試過了都沒有效果,但是過程中還是學到很多東西。例如 Everest 現在可以測試 PC 效能, 有些人跟我一樣, 跑到 sinJulia, 畫面就不會動或是當機了. 也有人同樣是跑 Windows 體驗分數時出問題, 大約在跑 Direct 9 測試的時候當掉! (有人說先把 WinSAT 目錄清掉再跑, 但這對我也沒用.) 另外就是我跑 3D Mark 必當, 只是時間早晚而已! 有人和我一樣, 也有人跑一個禮拜沒事!

經過觀察, 我發現只要跑 WinSAT 或是 3D Mark 時, 電腦的風扇聲就會變大. 我想, 或許電腦在偷偷超頻吧? 或許這就是原因? 於是我到 BIOS 那邊去做各種設定, 此時我才知道華碩的 P8Z68 還真是愛偷跑, 光是在 BIOS 簡易設定裡把效能降到最低並沒有用, 每次重新開機必定至少偷跑個十幾 MHz. 即使把 Ai 超頻設為手動, 企圖禁止它偷跑; 由於設錯了其他東西, 它還是毫無人性地把 CPU 從 3.4 GHz 超到 4.4 GHz. 然後告訴我開不了機. 

原來把 memory clock rate 降低, 搭配 BCLK / PCIE 比例設高也不行. 嘗試了幾次後, 最後的結論是: Ai 仍舊設為手動, Memory 設為 1333MHz (雖然我買 1600 MHz), BCLK / PCIE = 100 (設太低也會開不了機), Turbo 倍頻設自動, 然後 CPU 就會乖乖地停在 3.4GHz 了.

畢竟中間當了那麼多次, 硬碟沒病也變有病了! 於是我把 C 槽備份後, 做了一個晚上的 check disk. 然後重灌一次 Win7. 雖然我先前都用得好好的, 但是有些小地方讓我不太滿意. 像是金山毒霸會導致 iPad 偵測不到 (disable 後就可以, 不用移除.), 而且它把別人的首頁綁架軟體關了, 自己卻占住了首頁! 這些雜七雜八的軟體 (快播, 金山…) 都會一直開 pop 視窗, 也讓人煩不勝煩. 乾脆就來個浴火重生吧!

果然, 經過鎖定 CPU 頻率, check disk 之後, Everest 可以順利跑完了. 重灌之後, 試玩了 NBA2K14 也沒再當機. 經過一番波折, 我大概歸納出以下的結論:

1. 跑 memtest86, 若是能跑完 1 個 pass (大概一個晚上),表示 memory 基本上沒問題.

2. 如果進到 BIOS, 或是看 Everest 的 5V, 12V 電壓大概也在 5V, 12V 附近, 那麼 power 也沒有問題.

3. 能跑完 3D Mark, 顯示卡大概也沒問題.

4. 確定電腦不會自行超頻, 設定完成後, 重新開機看一次有沒有變化.

5. 檢查硬碟很重要. 2TB 大小也是要花ㄧ個晚上, 但值得做!

以上分享自己當機的悲慘經驗, 希望大家都可以迅速地解決問題. 因為計劃趕不上變化, 本篇還有些插曲, 我另外再寫兩篇給大家參考.

Android 手機記憶體不足問題

有好一陣子, 手機都在抱怨記憶體不足的問題.  我用的 Galaxy Note 有 1GB DDR 和 16 GB FLASH.  如果是 DDR 不足, 可以用手機助手…等軟體把不用的 task 清掉, 這個問題較小. 比較大的問題是 NAND 切給 data 的空間不足, 這個就不是外插一張 SD 卡的問題了.

關於 data 的空間不足, 主要原因是 android  會把內建的 NAND 分成幾個 partitionm 像是 boot, system, data,cache…. 等等, 當然也有分更細的. 像是 [1] 説到的 9~10 個 partition. 總之, 使用者可以自由使用來安裝 APK 的空間沒有想像中得大.  即使內建的 NAND 還有很大的空間, 但是它未必能給 APP 安裝使用. 我的手機就只有 2GB 可以放自己安裝的 APP. 所以不只是我, 別人也會遇到這個問題, 常見的建議如下:

1. 不要安裝太多 APP.

2. 把 APP 安裝到外部 SD 卡上.

3. 到設定程式管理員那裡把 cache 清一清.

4. 把 datamedia 底下的多媒體檔案清掉.

5. 把佔用資源很多的 APP 清掉, 例如 Platinum 雖然是好物, 但是它自己也很肥.

6. root 後把用不到的韓國 APP 殺掉! 例如 reader hub…等等.

7. root 後把 datadalvik-cache 清掉.

8. root 後把 dalvik-cache 搬到 SD 卡. [4-6]

9. root 後把 NAND 重新 partition

經過身體力行之後, 發現 7 是最有用的. 因為我雖然把不用的 APP 移除了, 但 Android 把它們的 Dalik 檔案 (一堆 .dex) 都保留了下來. 當我把整個資料夾 500 多個檔案清空, 然後重新開機, 雖然 Android 又針對還存在的 APP 優化了一次, 我確多了 100MB 以上的空間出來. 那些下載檔案放不下的問題就沒有再出現了.

方法 8 雖然比 7 更好, 不過反應速度不知道會不會變慢? 我的外接 SD 是 class 10, 理論上可以應付. 等到 7 撐不住了再來用 8.

至於方法 9, 這招我是不敢用.

[ref]

1.Android/partitions

2. 2013-07-17 [Android] App怎麼使用最Smart?關於App使用與系統效能調校的8個小撇步!

3. [Android] 何謂 dalvik cache?

4. Mounts2SD – Storage & Memory

5. Moving Dalvik Cache to SD Card.

6. 小V精簡dalvik-cache, 增加空間

 

我讀 «地獄»

丹布朗又出新書了! 昨天到貨的 <Inferno> 終於讀完.

延續過去一貫的風格, 這本書依然環繞著歷史、密碼、符號, 以及人類的生存危機 – 生理上或是心理上的. 至於這次的危機是什麼? 我就不爆料了. 反正全書開始不久就有暗示, 最後峰迴路轉, 不是大家想的那一個的 “那個", 一樣有暗示啦, 讀到最後幾章就能猜得到.

另外, 丹布朗慣用的手法還是好人變壞人, 壞人變好人, 然後又變回來一次的那招. 不過這次的女主角是智商 208 的金髮美女醫師, 我們當然不想她死得太快或是變成壞人囉. 只是作者變變變的梗用太多, 害我連主角的名字都不能寫, 不然立刻就破梗了~~~ 幸好主角還是哈佛大學的教授蘭登, 這個始終一以貫之.

什麼都不能講要講什麼呢? 我想講歷史和地理. 這次的書名叫做地獄, 其實是引用自但丁的神曲, 整個事件都和但丁有關. 話說但丁的神曲描述了地獄、煉獄、和天堂. 但重點大概是在地獄. 地獄共有九層, 像是個漏斗. 撒旦就在最下面. 第一層是給不認識基督的異教徒用的. 不知者也是有罪, 尼安德塔人得在此聽候上帝的審畔. 異端者會受到火刑, 貪食者吃屎等等.

爬過撒旦的尾巴就來到煉獄. 煉獄是分為七層的高山, 靈魂在這邊領到集點卡之後, 每爬上一重山, 就可以消除一種最孽. 犯了七宗罪的人洗去他的罪, 就可以在山頂進入天堂. 而天堂也有九層, 到了最高層的天堂才能見到三位一體的神. 除罪這個動作就是本書解密的梗之一.

另外地獄八層的罪狀和七宗罪非常接近, 就是 貪食色慾貪婪悲嘆暴怒懶惰自負傲慢. 也就是說自負的人在地獄是有罪的, 但是在煉獄就還 OK, 不列入考核.

七宗罪各自都有一些懲罰的方式, 這也是解謎的梗. 罰錯了方式可不行.

拉丁文 中文
superbia 驕傲
invidia 妒忌
ira 暴怒
accidia 懶惰
avaritia 貪婪
gula 貪食
luxuria 色慾

話說神曲和我們在廟裡看到的 “善書" – 像是天堂遊記、地獄遊記有什麼不同呢? 主要就是文學性. 神曲雖是通俗文學, 但是每三行連韻. WIKI 說: “全詩為三部《地獄篇》《煉獄篇》《天堂篇》,每部33首,最前面增加一首序詩,一共100首。詩句是三行一段,連鎖押韻,各首長短大致相等,每部也基本相等。(地獄4720行;煉獄4755行;天堂4758行),每部都以「群星」(stelle = 英文 star)一詞結束。"  以 star 結束也是一個梗.

除了但丁的神曲, 書中還有許多歷史地理, 特別是與神話相關的歷史. 例如聖露西亞 – 盲人骨頭. 我隨著主角的行程用 Google Map 網游, 也就順便導覽了這些地方. 聖母百花大教堂是綠的、粉紅的、白色的…呃…不看圖還真難明白. 用 GooleMap 大概就能知道作者在講什麼.

佛羅倫斯的聖喬凡尼洗禮堂距離大教堂有多遠? 天堂之門長什麼樣子?

主角在威尼斯大運河西方起點時, 看到的小聖梅西歐教堂有所謂拜占庭的圓頂、古希臘的石柱和山形牆…看圖吧!

有圖之後讀書就更有趣了. 可惜 Google Map 竟然用著用著就在威尼斯當了. 我只好升級成新版的 Google Map. 但用起來一時不習慣. 放 “菊色小人" 在地圖上的介面改了,  幾個地方也就沒有查下去. 看來以後有時間再來網遊伊斯坦堡的蘇非亞大教堂和蓄水池吧!

其實本書還有一個 APP: Dan Brown Inferno", 掃瞄本書的封面就有機會得到簽名書. 不過中文版的封面它好像不認得呢? 我只好放棄了! 其實我倒是希望有實境導覽的 APP, 這樣就可以更有親臨現場的感受. 畢竟 Google 也不容易查到所有建築物的內部裝潢, 那部份都只能靠想像彌補. 但有了這麼好的 APP 或是電子書, 應該會影響電影的版權收入吧! 哈!

耗時六小時的讀書和兩小時的網誌就先告一段落了. 這次義大利犀牛的第四戰輸得更少了, 還打到延長賽. 不過還是四連敗被清盤, 和我預期地差不多. 因為不忍心看轉播, 就專心看書. 希望明年中華職棒還是至少有四隊, 其他不強求.

[ref]

1. 但丁 <<神曲>>

2. WIKI: 神曲

3. 七宗罪

4. 解碼丹布朗

Smart pointer 小註解

Smart pointer 是為了解決要了記憶體沒有還 – 導致 memory leak, 或是記憶體已經還了還在用 – 導致當機的問題. 直覺上, 還個記憶體好像並非難事, 何必大費周章呢? 主要是由函數返回指標時, 我們不能確定要在外面還還是裡面? 例如 [2] 所說的, 不是我 new 的, 需要我 delete 嗎?

DataGenerator DataGen;
int* A = DataGen.GetData();
delete A; // Should do this?

為了解決這個問題, 我們需要比較聰明的指標. 在 C++11 和 Android 裡面, smart pointer 的定義略有不同. 在 C++ 的話, 可以分為 3 種, 分別是: 前者的 unique ptr, shared ptr, waek ptr . 而 Android 裡面分為 strong pointer 和 weak pointer 兩種. 它們的定義分別如下 [1-2]. 如果是 MFC, QT… 的話, 都還有定義別種的 smart pointer [5-6], 基本上大同小異.

pointer 定義
unique_ptr 確保一份資源(被配置出來的記憶體空間)只會被一個 unique_ptr 物件管理的 smart pointer;當 unique_ptr 物件消失時,就會自動釋放資源。
shared_ptr 可以有多個 shared_ptr 共用一份資源的 smart pointer,內部會記錄這份資源被使用的次數(reference counter),只要還有 shared_ptr 物件的存在、資源就不會釋放;只有當所有使用這份資源的 shared_ptr 物件都消失的時候,資源才會被自動釋放。
weak_ptr 搭配 shared_ptr 使用的 smart pointer,和 shared_ptr 的不同點在於 weak_ptr 不會影響資源被使用的次數,也就是說的 weak_ptr 存在與否不代表資源會不會被釋放掉。
strong pointer 等同於 C++ 11 的 shared pointer
weak pointer 弱指針只能指一個 object, 所以沒有 counter. 它只是提供一個地址, 甚至還不能調用 object 的 member function 或是 variable.

強指針 (strong pointer = sp) 和一般的 shared_ptr 一樣, 透過 counter 來記錄有多少 “人" 引用這個 object?如果每個人都用完了, counter 歸零之後就可以被 free.  [1,4]  而弱指針 (weak pointer = wp) 並不理會還有沒有人用, 只要自己用完就可以 delete 了. 當然, 只有在同時也沒有強指針指到它才會被 delete. 參考 [5] 的例子.

ref1, ref2, ref5 都是強指針 sp, ref3 是弱指針 wp. ref4 是 promote 過後的弱指針. 弱指針也不永遠是扶不起的阿斗, 它可以用 promote function 升級為強指針  (寫到這邊, 電視上正在演 “見龍卸甲", 劉德華救阿斗耶…).

// 先定義 class, Android 用的是 frameworksbaseincludeutilsRefBase.h

namespace android {

class RefTest : public RefBase {
public:
    RefTest(int32_t id) : mID(id) {
        printf(“RefTest ctor: %dn", mID);
    }
    virtual ~RefTest() {
        printf(“RefTest dtor: %dn", mID);
    }
    int32_t id() const {
        return mID;
    }
private:
    int32_t mID;
};
// 測試 strong pointer 的函數

int strong_pointer() {

    sp<RefTest> ref1 = new RefTest(1);
    sp<RefTest> ref5;
    {
        sp<RefTest> ref2 = new RefTest(2);
        ref5 = ref2; // comment this out and check when the destructor of ref2 is called,
                          // ref5 又參考了 ref2
    }
    wp<RefTest> ref3 = ref1; // 弱指針也可以指向強指針, 但強指針不能指向弱指針.
    sp<RefTest> ref4 = ref3.promote(); // 弱指針可以 promote 為強指針
    if (ref4 == NULL) {
        printf(“RefTest object is destroyedn“); // 強指針和弱指針都沒有人用, 就可以回收了. 但還不會發生.
    } else {
        printf(“RefTest object %d is still aroundn", // 此時還有人用
            ref4->id());
    }
    ref4 = NULL; // ref4 清掉, ref3 是弱指針不用管, ref1 還在用
    ref1 = NULL; // comment this out to check to check change in prints
                         // ref1 也不用了.
    ref4 = ref3.promote(); // ref1 清掉, ref4 清掉, 所以 ref4 這次應該 NULL 了.
    if (ref4 == NULL) {
        printf(“RefTest object is destroyedn");
    } else {
        printf(“RefTest object %d is still aroundn",
            ref4->id()); // 清掉了
    }
    printf(“Before return n");
    return 0;
} 
強指標的觀念帶有 counter, 似乎已經相當完備; 為什麼有強指針以後, 還要有弱指針? 甚至要那麼麻煩地去升級弱指針呢? 其實弱指針並不像它的名字那樣一無事處, 它也具有立刻把記憶體立即釋放掉的優勢. 在 “IOS5 ARC 完全手冊" [9] 的文件裡面, 它把弱指針的用途做了說明.
這次的 reference 特別多, 因此本來想簡單寫完, 不料化簡為繁, 又化繁為簡, 前後竟然跨了四天.

[ref]

1. Android智能指针使用方法介绍

2. 避免 memory leak:C++11 Smart Pointer

3. What are strong pointers and weak pointers

4. android smart pointer – [1] 的原文

5. Smart Pointers to boost your code

6. dhav’s blog

7. QT smart point 智能指针

8. C++内存管理

9. ios 5 arc完全指南