Wait for me, Wave!

今天回工研院資通所去參加 W 組的組友活動, 除了碰到稀有的幾位…以前的老同事之外, 也聽到以前的長官分享他們的經驗.

其中我們的前組長 James Lee, 李鎮樟博士已經是有名的天使投資人了.  網路上隨便都可以 Google 到相關的訊息. James 除了講他的 VC 心法, 也介紹他們夫妻去過稀有景點. 因為時間的關係, 價值 1,000 歐元一堂課的創投十誡只聽到一小部分. 不過我覺得光是聽旅遊景點的部分, 聽眾們應該就覺得很有收穫了.

James 介紹的稀奇景點之一是位在科羅拉多高原中心的 Wave. 據說這個地方, 最初知道的人都當做不外傳的私房景點. 直到近年來被德國的電視台發掘, 才變成攝影家的天堂. 據說它是含鐵和不含鐵的風砂交錯堆積後, 經過陸沉再升起於地表. 最後這些岩石就變成脆弱的風化石, 並且帶著不可思議的天然紋路. 

到了今天, 此處變成一個美國國土安全局的保護區, 每天只能開放 10 個人進入, 而且什麼垃圾都不准留下來. 在這十個名額中, 據說還包括環保狂熱份子固定參加登記抽籤, 卻故意 “棄標" 的名額, 所以能夠一窺 Wave 密境的人, 至今仍然少之又少.

現場抽籤的方法據說是這樣, 現場報名的人把名字寫在紙條上, 丟進一頂帽子. 如果此次沒抽中, 就改去別的景點玩, 明天再出現的話, 又可以丟一次名條以增加中獎的機會. 如果每天都去報到, 總是有機會抽到. 不過若是一家數個人參加抽籤, 結果使得總人數超過十個人的話, 自家人就要大義滅親, 絕不允許超過 10 個人進去.  

James 老闆和夫人的攝影已經到出書的等級了, 所以他給我們看的照片真的非常漂亮!有興趣的人可以去買這本書來看: 用心遊世界一指定乾坤 = Impressions of roads less traveled / 李鎮樟, 陳純華作.圖片攝影

沒買書的人, 就看一下 Google 到的圖片吧! 我從 The Wave Coyote Buttes – Arizona  抓到這些圖片.

我的前老闆已經可以退休, 並且號稱中國美國玩透透了. 還在為事業打拼的我, 希望再努力一陣子之後, 也能夠像 James 一樣玩遍最稀奇的景點. 所以 wait for me, Wave! 不要太早塌掉啊!

轉職需要的準備工作

最近因為換了工作, 發現報到前後還要準備一些有的沒的, 特別把它整理出來:

1. 畢業證書: 上次用它應該是 1997 年吧? 找了半天才在一個牛皮紙袋裡找到. 赫然發現以前放在帶黃穗子的黑色燙金字圓紙筒裡面也不是那麼矬, 至少一眼就可以發現.

2. 退伍令: 哇! 我已經快除役了吧! 嗯, Google 查證得知尉級是 50 歲才除役, 還差一點.

3. 進修記錄: 呃…過去十幾年沒上過什麼課耶, 會不會很丟臉啊? 搜了一下, 計找到:

Synopsys synthesis 上課 30 小時 (呃, 畢竟我不是 designer, 上了課也沒用過到), 

Sun Service 開的 Java 課程結業證書 (其實我都忘光了) ,

即時作業系統 (這張上面還有打成績, 還好是滿分),

管理才能訓練研習營 (啊! 竟然有這張, 在螃蟹公司受訓時獲得的),

以及在自強基金會上日本語入門的結業證明.

好吧! 勉強擠出五張, 以後要設法多弄點這東西, 不然好像很沒有上進心.

4.  離職證明, 大概都會用到吧!

5.  勞健保退保單, 這是確認已經從前公司離職的另外一個方法. 據說法律上可以接受一個人在兩家公司都有勞健保. 因此確認拿到另外一家公司的退保證明, 就可以確認他/她已經不屬於那家公司了.

除了上述的有形準備, 另外就是心理準備了.

我們一進到新的環境, 就會看到很多和以前不一樣的地方. 讓我舉個誇張點的例子: 假如原來在 A 公司的 PC標準配備是 Win 7 / i7 主機加 16GB DDR3, 到了 B 公司忽然變成 Win XP / P4 主機加 2GB DDR2, 這樣工程師應該會嚇一大跳吧!

但是談 offer 的時候, 就算是最依賴 PC 的工程師也只可能會問上下班時間, 和軟體開發流程, 而不會問電腦的配備如何?

換言之, 我們接受了大環境, 小細節的差異就要跟著接受.  除非新的制度不合理而且很容易做出改善, 否則理應照單全收, 這是心理準備之一.

心理準備之二就是權責範圍的改變. 比方說 X 公司小, 很多事情都需要親自做決策, 到了 Y 公司, 裡面人山人海, 做什麼都要參考其他人的意見. 像這樣涉及工作方式的轉變, 更是優先要適應的項目.

畢竟換工作意味著改變, 如果什麼都不變就不用換了. 天下更沒有十全十美的工作, 不可能錢多事少離家近, 位高權重責任輕. 就算是出國規定只能坐頭等艙的公司, 也未必是你我的首選. 伴隨著改變而來的 "副作用", 當然是一定要接受的.

心理準備之三, 就是和真人互動. 換了一群同事, 也就換了一個生態圈. 哪些會要參加? 哪些事要經過誰的同意? 甚至哪個位置是同事開會時的固定座位, 這些都是新人需要適應的. 王建民轉到國民隊前, 國民隊就把 40 號空出來給他. 這是高調轉職的特例. 正常情況是: 任何巨砲強投轉到洋基隊後, 無論球團對他的期望多麼高, 想要 Jeter 把背號 2 號交出來都是不可能的!

以上三點就是我想到需要適應的心理準備, 分別對應到: 第一眼看到的物, 馬上要處理的事, 以及需要培養默契的人.

景氣對策信號小註解

昨天在 Cheers 雜誌上讀到, 有位王仲麟先生用景氣對策信號 (Monitoring indicator) 的分數來判斷是否進場. 當分數低於 17 分的話就可以進場, 29 分以上就要出場.

這個指標是啥呢? 它包含了經濟領先, 同時與落後指標. 領先指標的部分包括:

景氣領先指標綜合指數
景氣領先指標6個月平滑化年變動率
外銷訂單指數
貨幣總計數 M1B
股價指數
製造業存貨量指數
工業及服務業每人每月加班工時
核發建照面積(住宅類住宅、商業辦公、工業倉儲)
SEMI半導體接單出貨比

 同時指標的部分包括:

景氣同時指標綜合指數
景氣同時指標循環波動(不含趨勢)
工業生產指數
電力(企業)總用電量
批發零售及餐飲業營業額指數
非農業部門就業人數
海關出口值
機械及電機設備進口值
製造業銷售量指數

落後指標的部分包括:

景氣落後指標綜合指數
景氣落後指標循環波動(不含趨勢)
失業率
工業及服務業經常性受僱員工人數
製造業單位產出勞動成本指數
金融業隔夜拆款利率
主要金融機構放款與投資
製造業存貨率

除了分數, 政府也用燈號來表示分數的區間.

OK! 大家一定也關心現在幾分了吧!? 請看下圖. 9 8 月還有 22 分之多, 10 9 月的還沒有公佈. 但顯然距離金融海嘯時期的 9 分還有一大段差距.

DVB-T2 小註解

乍聽之下, DVB-T2 好像是 DVB-T 的後繼版本, 多少有點向前相容吧! 並沒有, 它只向 "錢" 相容, 調變規格和 DVB-T 差了很多. 雖然平平是 OFDM + QAM, 不過 QAM 的大小和 FEC (forward error correction) 就不同了. 更別說 DVB-T2 有 rotated constellations (令人聯想到傾斜的太魯閣號列車跑比較快).

DVB-T2 使得原本只能傳一路的 HD 的頻帶, 可以傳兩路 HD 加上一路 SD. 在芬蘭, DVB-T2 可憐地只分到 2 個頻道, 但即使是這樣, 它們還是塞進了 7~8 個 HD 節目 [note], 可見通訊技術真的進步了很多.

現在來講講 DVB-T2 帶來的商業利益:

1. Free-to-air

如果一個地區的免費頻道很少, 那麼 DVB-T2 可以提供更多節目的特性, 可能會吸引人去買新的 STB. 如果當地的頻道本來就多得不像話, DVB-T2 帶來的好處是把 SD 節目全部變成 HD.

2. Pay-DTT (digital terrestiral television)

同樣是付費的電視, DVB-T2 的滲透力比較高. 因此一個新的付費服務, 放在 DTT 上會比放在 cable 或是 satellite 更有成功的機會.

採用 DVB-T2 的國家包括: UK, Italy, Sweden, Turkey, Serbia, South Africa, Russia, Ukraine.

想了解 DVB-T2 的技術摘要可以看 note2.

[note]  http://www.digitag.org/DTTResources/DVB-T2_Handbook.pdf

[note 2] http://www.enensys.com/technologies/dvb-t2-overview.html

Web Workers 小註解

如果看到 dedicated worker 這個名詞, 可能會讓人聯想到專注的工作者. 而 shared worker 就像是共用的人力資源. 其實無論 dedicated worker 或是 shared worker 都是 web worker 的一種, 而 web worker 當然不是指網路工作者.

Web worker 是 HTML (特別是 HTML5)  的一個 feature, 它允許一個以上的 thread, 特別是在有任務很重的 Javascript 的狀況下, 有效率地在 browser 上執行.

在未支援 web worker 的環境下, 必須等到 Javascript 被執行完之後, 才能執行完某個 thread. 這使得 Javascript 所花的時間不能夠被隱藏起來, 而降低了執行的效率.

Browser 支援 web worker 之後, 它定義了 run Java 的 API. 多個 Javascript 都可以被放到 background 執行. 而且這些 Javascript 不會直接 access DOM, 只是透過 message passing 來收發 event.

舉例來說, 傳統的 HTML 會花一段 code 寫 Javascript, 然後用 <Javascript></Javascript> 包起來, 接著在 HML 中調用 Javascript 所定義的 function.

但 Web worker 的做法, 直接在 <Javascript></Javascript> 中間, 把 Javascript 指定給 worker 管理. load 一個 Javascript 或是關閉它的方式如下:

var worker = new Worker("worker_script.js");
 
worker.close();

把 message 傳給 worker, 或是從 worker 接收的方法如下:

worker.postMessage("Hello World!");

worker.onmessage = function(event) { do something }

Dedicated worker 表示 worker 被 create 出來的時候, 它的 message port 就已經被產生了, 例如上面這種寫法. 它的最大優勢就是簡單.

shared worker 依據 port 來共用 worker. 表面看起來和 dedicated worker 只差一點點:

var worker = new SharedWorker("worker_script.js");
worker.port.onmessage = function(event) { do something }

但實際上, Javascript 裡面會有一個 assign port 的動作, 再為 port 設定一個 listener:

var port = event.ports[0];

port.onmessage = function(event) { do something }

透過這樣的'方式, 多個 window 都可以共用一個 worker thread.

由於 dedicated 和 shared worker 的特性不太相同, 號稱支援 Web worker 的 browser 也未必同時支援這兩種模式. 我們可以透過傳回值來確認 browser 是否提出支援.

// Test if Dedicated Web Workers are available
if(window.Worker) { g_bDedicatedWorkersEnabled = true; }

// Test if Shared Web Workers are available
if(window.SharedWorker) { g_bSharedWorkersEnabled = true; }

[ref]

1. WIKI

2. Web Workers Editor's Draft 4 October 2011 [Complete!]

3. Javascript Web Workers: Opera 10.6 Beta Supports SharedWorkers

4. An Introduction to HTML 5 Web Workers  [Best!]