我讀 «為自己爭氣»

這本薄薄的書是以第一人稱介紹群聯電子創業成功的故事. 雖然站在書店也可以讀完, 但是它的版稅可是一半捐給交大, 一半捐給家扶中心. 所以我還是買了回來快快看.

群聯的人原來出自慧榮. 就像很多科學園區傳奇一樣, 不看好而被踢出來的團隊, 有時反而經營得比原來的母公司還要成功. 群聯現在是亞太最大的一家 Flash memory 公司. 但它的營業額應該包括了 IC 晶片與 FLASH 成品 – 隨身碟, 讀卡機之類的, 並不是純粹的 IC design house.

群聯的故事中, 最主要的事件有下面幾件:

1997 年, 慧亞成立, 後來經併購變成慧榮.

2000 年, 群聯的團隊被踢出慧亞, 員工集資 3000 萬成立公司. 新公司的名字是群聯, 但英文名子沿用慧榮子公司時代的慧陞 (Phison), 雖然可以解釋成 five person, 但是沒把慧亞時代的淵源斬乾淨是個敗筆.

2001 年, 群聯找到東芝入股. 靠著這個保護傘嚇退不少來騷擾的對手. 至於東芝為什麼要投資群聯呢? 因為群聯有 FLASH controller 的技術. 便宜的 controller 可以使得 FLASH 的應用更加普及.

2002 年, 慧榮控告群聯侵權, 並申請假扣押. 當時如果不是東芝及時跑出來加碼認股, 群聯就沒有錢可以發薪水了.

在這場官司之前, 東芝只持股 8%, 總共只值一兩千萬新台幣. 當群聯被告之後, 東芝相信了潘建成校友的說法, 認定群聯的技術是自有的, 反而加碼投資到 19%. 

2003 年  NAND Flash 大賣. 因為上游供不應求, 群聯慘遭三星斷貨. 群聯接了單但是沒有 Flash, 只好向東芝求援. 東芝情義相挺, 出了 200K 給群聯, 群聯有貨可出, 才逃過一劫, 並且大賺.

慧榮與群聯的官司和解 (2006 年) 之後, 群聯發展開始邁入順境.

2007 年, Flash 開始崩盤. 東芝生產過剩, 希望群聯可以吃下價值數千萬美金的 Flash. 群聯為了報答東芝, 硬是做了這個虧本生意. 群聯本來並無負債, 忽然因此變得周轉不靈. 當群聯去銀行借錢, 一開口要借 20 億, 銀行反倒想雨天收傘. 潘建成校友只好讓 sales 儘快把庫存賠本賣光, 換取現金.

這個舉動當時只是為了保命, 想不到 2008 年緊接著發生金融海嘯. 這些存貨變成賣在相對高點, 避免了更大的損失.

在金融海嘯階段, 群聯同樣是人心惶惶, 大家都擔心公司會倒閉. 潘建成校友此時做了一個重要的動作, 就是對大家精神喊話, 要求大家要有二次創業的精神. 無論如何, 金融海嘯的狀況再糟也不會像創業時期那樣糟. 至少有人有錢有產品有通路, 當初大家什麼都沒有還不是挺過來了? 也對吧!

二次創業的這個說法看來達到了激勵人心的作用, 使得群聯的向心力更加穩定. 事實上, 公司就算什麼都不說不做, 也未必見得會倒閉. 幾乎所有的公司經歷金融海嘯之後都活了過來, 所以只差在領導人的表演功力好不好而已. 如果公司遇到金融海嘯就亂了手腳, 員工看在眼裡感受自然不好. 如果演得精彩, 員工就會更有向心力.

書中 (p 175) 另外也提到領導人的想法決定團隊成敗. 所謂的想法包括:

1. 以身作則. 老闆不能早下班.

2. 口徑一致. 公司的方向不能有多頭馬車, 決定好就別改來改去.

3. 把公司的目標解釋給員工聽, 不單單給出命令.

4. 描繪遠景. 遠景和士氣有關係, 有時候還是要畫大餅.

最後還有兩點值得提的:

1. 老闆, 主管, 員工都不應該追求享樂, 派頭, 無風險的作為. 否則公司會變得墮落.

2. 很多人說潘建成校友運氣好. 從書中看來, 除了他的脾氣比較火爆一點之外, 其他方面有很多優點. 所以說, 一般缺點更多的人若是成功了, 也會有更多說閒話的人吧!

喝太多咖啡的缺點

根據天下雜誌出版的 "要好腦力,先要好飲食", 咖啡喝太多會有以下的連鎖反應.

首先, 咖啡因會佔據腺嘌呤核苷(adenosine) 的受體, 使得腺苷不能發揮作用. 腺苷原本的作用是抑制多巴胺和腎上腺素分泌的煞車, 當這個煞車不起作用, 多巴胺和腎上腺素相對就會變多. 尤其是剛喝下咖啡的 30~60 分鐘.

不過若是喝了過多的咖啡 (500 mg 以上), 腦部會分泌更多的腺苷來平衡. 一旦停止喝咖啡, 由於腺苷太多, 反而會變得疲勞和憂鬱. 理論上, 過多的腺苷應該也是短期的現象. 休息之後, 腎上腺素也會衝上來產生化學平衡才合理. 結果, 可能就會變得又累又睡不著了, 這個還比較可怕!

這麼看來, 適量的咖啡至少可以把精神狀態調整到短暫的高峰, 疲勞的問題可以留待稍後再解決. 咖啡因進入人體後, 基本上在 3~4 小時左右能被肝臟代謝掉成副黃嘌呤、茶鹼、和可可鹼.

然而, 需要肝臟代謝這件事畢竟是有極限的. 喝到肝臟無法負荷後, 也會產生中毒的現象.

我讀 «窮查理的普通常識»

這本書的作者是巴菲特的合夥人 – 蒙格·查理. 他藉用富蘭克林的書名 “窮查理年鑑" 來命名自己的書, 一方面展示自己的博學, 另一方面也向他的偶像致敬 (雖然他並沒有明白地這麼說).

本書的內容主要是集結查理的演講稿, 而且份量相當地厚重. 如果大家以為查理打著巴菲特的名號出來騙錢 – 就像市面上一大堆 “巴菲特 – related" 的書一樣, 那麼各位就看走眼了. 事實上, 本書比很多類似的書更加精確地指出了波克夏成功的關鍵.

簡單地說, 葛拉漢的價值型投資在於買進定價過低的企業, 等到它們的價格恢復到合理的數字, 就將它賣出. 查理/巴菲特的做法是找出定價錯誤的企業, 重重呀注並且長期持有它. 當然這裡面有兩個關鍵, 首先就是看對的時候要比看錯的時候多很多, 其次是要借用別人的錢 – 例如名下保險公司. 所以巴菲特才會說每個商學院的畢業生如果拿到有二十個洞的卡片, 每做一個投資就打一個洞, 卡片用完就不能再投資, 那麼大家就會謹慎使用這些投資機會. 而查理更絕, 他認為只有十次機會.

查理本身是個律師, 在本書當中, 他多次, 或者說反覆地, 指責會計師和心理學家. 本人覺得他講得非常有道理. 會計師受聘於企業, 所以在很大的程度上, 是個偽證者. 正派經營的公司可以得到永續經營的好處, 但是不太可能使股東賺到 “黑灰心錢".  所謂的灰錢包括員工認股權證, 股票分紅, 私募, 關係人交易等等, 總之只要能把帳做得漂亮, 股價 飆高, 大股東就能獲得灰錢.

此外, 共同基金的操盤手也往往大賺灰錢. 例如:拿著顧客的錢去買佣金高的其他基金. 自己口袋滿滿, 卻瘦了投資人. 巧妙的是:投資人本來應該可以賺 15%, 不過在操盤手的蒙蔽之下, 只能賺到 10% (舉例). 投資人往往不明白這一點, 心理上會安慰自己:我都大賺了, 分一點給基金經理人又何妨? 

在心理學上, 不當得利比較能夠刺激消費, 黑錢尤然, 灰錢不遑多讓, 而且它們合法. 查理沒有唸過幾本心理學的書, 但是他認為自己很懂心理學. 讀完本書後, 我也同意他的驕傲其來有自. 詳情部分, 請大家去讀本書第十一講: 人類誤判心理學.

一如書名所說的, 查理並沒有在本書強調如何投資理財. 而是把他的一些理念和格言和大家分享. 其中的佳句或警語包括:

1. 要得到你想要的東西, 最可靠的辦法, 是讓自己配得上擁有它.

2. 狄摩西尼:一個人想要什麼?就會相信什麼.

3. 避免 “不當誘因" (Perverse incentives) 的驅動 – 不要陷入一個表現慾愚蠢或愈糟糕, 就提供愈多回饋的系統當中, 如台語的 “窖輸博大", 愈輸賭愈大.

4. 避免 “稟賦效應" (endowment effect), 人一旦擁有某個東西, 對其評價就會比擁有之前高, 亦即過度高估私人的事物. 類似"敝帚自珍".

5. 在手裡拿著鐵鎚的人眼中, 世界就像一根釘子.

6. ..

至於查理是不是那麼完美的一個人呢?看了附錄 2 就知道, 其實他滿難搞的, 哈!


NPTL 小註解

NPTL 的意思是 "Native POSIX Thread Libray". 話說 Linux 裡面的 thread 原本不是真的 thread, 而是 process 偽裝而成的, 它們被稱為 Linux thread. 基本上, 原來的 Linux thread 被拷貝成多份, 每一份都使用同樣的定址空間, 於是乎可以達到近似於 thread 的效果.

不過畢竟它並不是真正的 thread, 所以若是信號送給其中的一個 Linux thread, 結果這個 Linux thread (實則為 process) 恰好被 block 住了, 那麼這個信號就永遠無法被其他的 Linux thread 收到. 比方說 kill() 很可能就無法把所有的 Linux thread 殺死, 而是有些死了, 有些變成殭屍.

在使用 GDB debug 的時候, 也只能針對某個 Linux thread 做控制,  而不能輕易地用 stop 一個 process ID, 就停止它底下所有的 thread.

為了解決 Linux thread 的問題, Red Hat 提供的 solution 就是 NPTL. NPTL 不需要一個額外的化妝師 (管理線程 – manager thread) 將 process 化妝成 thread. 也不需要在終止所有 Linux thread 之後才能回收它們所使用的記憶體.

相對地, 原本的 Linux thread 相當擅長 process 與 process 之間的同步, 畢竟大家內在都還是 process. 於是 NPTL 也多出了一個機制來增加 process 等級之間的同步. 這個機制就是 futex (fast userspace "mutex).

在 Linux 下編譯的代碼, 可以選擇支援 NPTL 或是 Linux Thread 的 glibc 版本來編譯. NPTL 基本上優於 Linux thread, 但兩者都堪用.

[ref]

1. Linux programmer's manual: futex

2. Linux 线程模型的比较:LinuxThreads 和 NPTL

Skype Kit 小註解

很多人都在用 Skype, 不過對於開發 Skype 需要用到的技術, 誤解還真是不少.

Skype 其實很貼心地把他們的技術都包在一個 Skype Kit 的執行檔裡面, 理論上只要把 API 都接對了, CPU 的 performance 夠快, 其他都不用做.

有人說開發 Skype 要支援語音一對五通話, 其實那是專指 PC 上的 Skype, 非 PC 上的 Skype 只需要支援 1 對 1. 何況 PC 的新規格上已經號稱可以支援音訊通話 1-to-24 了. 有趣的是, 我們看到這麼強大的數字應該就很不容易上當, 但是人家跟我說一定要做 1-to-5 的時候, 我居然相信了.;(

有人說開發 Skype 要支援 G.729, Silk, G.711….,  其實 Skype Kit 裡面什麼都有,  只要 CPU 夠快, 什麼都不用做. 

有人說開發 Skype 要支援 Beamforming, Noise suppression, Echo Canceling, AGC…etc., 其實 Skype Kit 裡面什麼都有, …(後略, 同上). 所以張載才會說, "於不疑處有疑, 方是進矣."  雖然我們要自信信人, 不過更要相信 spec.

如果說 Skype Kit 什麼都做了, 那麼開發 Skype 應用軟體應該是輕鬆寫意吧?非也!這包 Skype Kit 雖然包山包海, 不過一般嵌入式系統的 CPU 可是沒辦法像 PC 那樣揮灑自如. 隨便拿一支 4 microphone  的麥克風陣列, 未必能夠過 Skype 對 TV 廠的認證.

坊間的 Skype 認證麥克風, 主要是給 PC 用的. 因此它們並不需要通過 5 m 的測試 (人和麥克風距離 4 meters), 只需通過 1.5 m 測試. 此時 beamforming 的功能只是 optional, 關掉這個功能反而更好.

更麻煩的是, Skype 做系統認證的時候, 所搭配的每一個 camera 或 microphone 組合都要認證一次. 這導致了做 PC 週邊的認證很容易, 因為軟體全是 Skype 自己寫的, 球員兼裁判當然不會有問題.

而 embbed system 的認證就很麻煩了. 除非跑得動全套 Skype kit, 否則就得搭適合的 camera 和 microphone, 把某些工作得 off load 到 camera (microphone) module 上. 這些非標準規格的周邊配件等於要系統廠按規格訂製, 所以開起案來問題就很多. 

假設 Apple 的 FaceTime 推得很好, 相信 Skype 的空間就會愈來愈小. Skype 打電話到傳統電話還需要 Skype Out, 而用 FaceTime 從  iPad 打電話到 Iphone 簡直就是一塊小蛋糕!如果 Skype 不振作一點, 前方的路肩好像會有點綠油油的 – 前途堪慮啊!

另外, Apple 的 FaceTime 把 FaceBook 的臉 (face) 當成商標了, 看來 FaceBook 要推視訊電話的時候, 可能要多用一張臉來抵擋. 例如: Face 2F (face-to-face) 好像還不錯.