Excel 小技巧

有時候, 在 excel 的工作表 2008 中想要參考工作表 2007 中某一格的內容, 它的寫法如下:

工作表 2007 假設有一個 A1 = 5

工作表 2008 假設有一個 A1 = 8, A2 想要用工作表 2007 的 A1 去加工作表 2008 的 A1,

則 A2 的公式是 +(‘2007’!A1)+A1

其中 +() 是不能少的, 關鍵字 ‘2007’ 是工作表 2007 的名字, 然後用單引號刮起來, 後面要有驚嘆號! 接下來就是欄位的寫法, 和平常一樣.

如果對應的欄位, 希望在 copy and paste 之後對到固定的欄位還是不變的, 那就要把
A1 改成 $A$1 這種格式.

我讀 «老闆是你最大的客戶»

這本書的作者是大陸同胞胡震寧, 因此書中的前半段可以看到很明顯的大陸色彩. 例如教導大家如何在面試中脫穎而出, 以及如何選擇國企, 外資, 私人公司的判斷標準. 在作者的眼中, 外資派到中國的領導是一些不入流的角色, 厲害的人才都會留在先進國家. 雖然這個推論也言之成理, 但是我聽說韓國企業就不是如此, 他們會把一軍派到中國來.

當然, 上面的章節讀起來是有點無趣. 最棒的部分是在最後面. 作者舉三國志和歷史典故為例, 說明宋高宗保守, 而岳飛激進; 明崇禎激進, 而袁崇煥保守;在這個情況下, 兩大戰將都白白被老闆砍了頭, 袁崇煥好像還是被凌遲, 衰到了極點, 而他們的公司 (王朝)也終究不保. 因此大將的角色, 不能不與公司的政策相配合.

總結起來, 最佳的人才必須是不愛跳槽的, 一直在進步的, 和老闆溝通良好的. 在沒有工作之前, 必須設法引起老闆的興趣, 如姜子牙, 諸葛亮. 在有工作之後, 必須把事情做好, 培養身價, 但是不要亂跳. 員工要改進自己的缺點, 增加自己的長處. 格局要愈做愈大. 這些雖然是老生常談, 但這個結論還是非常重要: 員工必須和老闆溝通良好, 從面試開始, 一直到後來皆然.

BT 小檔案

前幾週, 因為我的 PDA 又無預警電力全失, 所以我的正版 Papago 5.7 版也就這樣不認得主人了, 還得要重灌一次. 為此我發願要改灌一個盜版的 Papago, 以免斷電後, 它又不認得我了. [注意! 我有買正版喔]

在這個因緣際會之下, 我上網找到了一個 Papago 5.7 版的 crack. 當然, 又同時發現了 9.0, 10.0 版的 crack. 不過要把他們 download 下來試用的話, 那個網站要我裝一個哇嘎 (Vagaa) 的軟體. 就這樣, 繼多年前用過 eZPeer 後, 我又安裝了一次 P2P 軟體. Papago 10.0 版真的很好用, 所以我又買了個正版. 因為升級價還不到 900 塊, 算是很便宜的合法化.此外它又多送一個正版 5.7, 也有升級的權利. 

言歸正傳, 裝了 Vagaa, 結果惹來了一堆垃圾軟體. 因為 Vagaa 是簡體中文的介面, 所以我在不明就理的情況下, "自願" 灌了一大堆 bundle 軟體而不知不覺. 當然, 我重新安裝的時後, 就不會再去選他們, 結果也就平安無事了. Vagaa 有很強的搜尋能力, 所以可以輕易地找到一些沒空去看的電影.而且它是採積分制的, 上傳愈多, 積分愈高, 就愈容易下載檔案.

不過 Vagaa 雖然容易上手, 但是它還是一直讓我怕怕的. 首先它完全不遵守上傳限制的規定. 明明我限制它 3KB/sec, 它還是會衝到 50KB/sec, 害我都不能用 browser 了. 另外一個缺點就是它的界面不能 sorting. 我想看看那個檔案快傳完了, 這樣也都做不到.尤有甚者, 不知道有那一個垃圾軟體巴在我的電腦裡面, 害我有一陣子狂當機, 只好重灌整個系統. 不過看在它效率不錯的份上, 重灌之後, 我還是不計前嫌又將就著用了它幾天. 不過它似乎有點危險性, 所以不敢介紹給大家.

前幾天我去大潤發, 看見有一本書叫做 "BT, ClubBox, P2P 下載三冠王". 就買回來研究. 也把附贈光碟裡面的軟體全部都安裝了 . 看來看去, 還是騾子比較順眼, 所以我現在裝得是 eMule. BitComet, Vagaa 都擺\到一邊去了. eMule 是 eDonkey 的後代 (騾子是驢子的後代, 真的沒話說), 據說比 eDonkey 更高明. 它有不錯的使用者界面, 搜尋能力也很強. 支援 KAD, 可以不用像 BT 一樣一定要到 Tracker server 去找東西, 可以把 tracker server 的功\能分散到每一台 client電腦的身上.如果不開 KAD,  eMule 仍然須要登入一台 server, 以便搜尋"資源", 不過即使 server 掛了 (eMule 的繁體界面就是這樣顯示的: XXX server 似乎掛了, 蠻親切的), 仍然可以上傳, 下載. 當然, 它可以 sort 各種 information, 限制了上傳速率之後, 就決不會越軌…

ClubBox 的觀念, 和一般的 P2P 不一樣. 它需要把上傳資料全部丟到 server, 然後大家在 server 上互 copy. 它的好處就是: 絕不會下載到一半, 就遇到 source 消失, 檔案從此變成半吊子的孤兒. 至於它的另類神奇用途, 我覺得可以用來緊急備份自己的 hard disk, 然後在 10 天內自己去下載回來.

Pthread 與 CThread

所謂的 P-thread 就是遵循 POSIX 規範所寫的 thread.

如果用 Pthread 去 google 上找, 這個網址算是名列前茅( https://computing.llnl.gov/tutorials/pthreads/ ) 而且它真的寫得很好. 又附上很多 source code 可以練習. 如果可以的話, 真想建議他們把 conditional variable 的那個範例改成 TCOUNT = 100, COUNT_LIMIT 改成 90 之類的. 這樣比較可以體會有一個 function 用兩個 threads 再跑, 另一個 function, 也就是第三個 thread 在苦苦等待的情況.

這個政府單位為什麼要教人家 Pthread 或是平行運算呢? 看來好像是為了教育使用者, 讓大家懂得他們的產品. 也算是用心良苦…

如果看到 CThread, 可能指得是 Thread 的 Class. 參看這個網址 (http://www.codeproject.com/KB/threads/cthread.aspx). 它有兩種表現方式, 一種是簡單的 Trivial threads, 它不支援 parent-child-thread notification, 相對也比較需要 user 注意一些危險. 另一種是 Notification threads, 這時它表現得像一個 server 或是 scheduler, 等待某些 command 進來之後再加以處理.


prevent tail call 小檔案

因為想要解決 relocation truncate 的問題, 在網路上不小心查到 prevent tail call 的資訊. 覺得還蠻有趣的.

所謂 prevent tail call 就是在 function 的最後面又 call 一個 function (tail call).

由於這個 tail call 完成之後, 唯一要做的事情就是 return 原 function,

原 function 又 return 回上一層.

因此這裡就不必囉囌地 return 兩次, 一次就讓它回老家, 這就是 prevent tail call 的精神.

有興趣的人可以去看: http://blog.chinaunix.net/43233/showart_464991.html