開案術語 (待續)

和大客戶做 project 有一個煩惱的地方, 就是大家的術語很多, 而且他們不會跟我們做培訓, 只好自己去搞清楚. 為了避免麻煩, 我把收集到的術語全部列出來備用.

術語 意義 備註
Stage 1 找出產品的賣點
VPD Value Proposition Debriefing
CRS Commercial Requirement Specification
Stage 2 決定做什麼?怎麼測試驗證?
AA Assignment Agreed
CVT Consolidation Verification Test
Stage 3 正式動手
ME Mechanism Engineering
EE Electrical Engineering
PPC Project Plan Commitment
EVT Engineering Verification Test
DVT Design Verification Test
PTR Pre Try Run
Stage 4 產品驗證
PV Product Validated
PVT Production Verification Test
DMT Design Maturity Test
TR Try Run
Stage 5 工程樣品完成
IR Industrial release
PMT Product Maturity Test
Stage 6 商品化完成
CR Commercial Release
Stage 7 出貨
FMS First Mass Shipment

關於道德風險

前陣子一直在坐飛機累積里程數, 所以有很多時間翻閱機上的雜誌. 搭了太多次的緣故,  終於有地勤問我願不願勉為其難升級商務艙了 (前提是提早一班飛機).

如果我是搭長程班機的話, 我就會看到這部電影 –  "華爾街 II 金錢永不眠". 不過我的班機太近了, 連辛普森都要快轉才能看完兩部.

金錢永不眠正好講到道德風險這件事, "什麼是道德風險? 一個人拿了你的錢卻不用負責就是道德風險". 男主角 Gordon Gekko (麥克道格拉斯飾) 對找他簽書的老太太這樣說, 結果他也真的這樣做了, 坑了自己的女兒與準女婿的錢.

我在想, 如果我把錢拿給別人操作, 固然是有風險. 如果別人出於對我的信任, 聽信了我的明牌, 其實我對他人也有道德風險. 為了避免這種風險, 不要隨便開口是比較正確的決定.

另一方面, 我覺得 QA 對工程師也有道德風險. 雖然我們產品線的 QA 很有水準,  Brian 老闆帶得很好. 如果是別家公司的 QA, 對我們就完全有亂發 bug 的道德風險.

對方發了很多 bug, 我的睡覺時間就不夠了. Money Never Sleeps, but Cash still need some!

DERO 密室遊戲大脫逃 – 好看!

很久沒看電視了, 晚上寫完作業 (也就是俗稱的打考績) 已經是凌晨兩點鐘, 決定看個日本綜藝節目休息一下. 打開電視就看到 "DERO" 這個節目, 以我單腳貓的日文程度, 我猜可能是 "出ろ" 的意思, 反正要逃出密室就對了!

這裡面要用到很多解謎的技巧, 藝人們如果不能發揮急智, 就會掉下深淵, 被流沙埋沒, 或者被天花板壓扁. 無論是藝人正解後帶來的讚嘆, 或是失敗後遭到懲罰, 都滿好玩的.

不過裡面的謎題, 堪稱日本味十足, 而且具有時尚感. 如果對日本文化不熟悉, 應該有點摸不著頭腦.  就算是受日本殖民教育的那代老前輩, 即便日文能力優異, 恐怕也無法融入其中. 總不能期望連孫子名字都叫錯的阿叔阿嬸知道日本偶像團體有哪些成員吧!? 這方面和台灣觀眾還是有些距離的, 只能內行看門道, 外行看熱鬧囉!

加班單

我們公司是俗稱的責任制, 所以假日加班才需要寫加班單. 不過前幾天我收到了一張堪稱是加班單的東西, 特別留下來做紀念.

因為客戶的習慣使然, 一面拼命加 feature – 這個不符合我們公司以前的做法, 一定要改, 一面挑我們以前沒測到的問題, 讓我們沒話說. 最近已經進到 daily review 的階段, 每天都砲轟我們好幾個小時.

時間沒有仔細算, 不過 2~4.5 小時應該這個會議的標準長度.

日期 會議開始時間 會議長度
(Hour)
備註
1/17 (一) 8:00pm 2.5  
1/18 (二) 8:00pm 4 人在深圳, 回去只是睡個覺, 便宜了酒店
1/19 (三) 10:00pm 4.5 從深圳回台灣後, 加入 con-call
1/20 (四) 3:00pm
part 1
2.5 請假一天 8 小時
  7:30pm
part 2
4 因為 con-call 上了 9 小時班
1/21 (五) 9:00pm 2 尾牙後 con-call
1/22 (六) 6:00pm 4.5 中間 ODM 斷線休兵 0.5 小時不算

悲劇就發生在 1/19, 我從深圳回到台灣, 回家吃碗稀飯 (不過很大碗), 洗個澡之後, 就回公司 con-call.這次 con-call 時間特別地長, 開完 con-call 之後, 已經是 2:30am 了. OEM 又順手丟出他們的 translator 要問我們的問題, 總共有好幾百條.

“My Computer 要翻譯成我的電腦, 公司的電腦, 還是使用者的電腦? 請詳細說明, 以免在西班牙文翻譯錯性別…." 此等問題, 在這三更半夜, 天知道除了我還有誰可以在當天的 10:00am 務必給到翻譯員啊? 只好憑自己想像, 寫好後寄一份給客戶, 另外轉寄其他 AP team leader review. 最後請個假, 把代理人設好, 台胞證多次簽的申請資料交出去. 下工時若不是深冬, 早上五點多天也該亮了吧!

走到停車場開車的時候, 發現了這張加班單.

其實, 我不算是 100% 正面思考的人. 所以我沒有興趣立即和警衛或總機聯絡說明, 而是選擇回家睡覺比較實在~~~這就是加班單的由來.

話說回來, 才 3:00am 警衛就認為大家已經棄車回家, 而不是在加班. 可見敝公司加班的人不太多. 若是像傳說中的晨星公司, 要搞到看到早晨的星星才能回家的話, 他們的警衛想必也會有不同的價值觀吧!

AIFF 小檔案

AIFF 全名 audio interchange file format, 我們沒說要支援, 結果播起來有聲音, 被客戶發 bug, 成了傷腦筋的問題.

為什麼沒有支援也可以播呢?因為它有時並沒有壓縮, 和純 PCM 的 wave 檔差不多.

如果名稱是 *.AIFF 或 *.AIF, 檔案是 little endian. 如果名稱是 *.AIFC, 則為 big endian.

不過 iTune 的 AIFF 內容其實是 AIFC. 這就是為何我們改口說 "乾脆支援 AIFF 算了!" 結果反而又被發 3 個 bug 的原因.

 AIFF 和 WAV (RIFF)  檔簡單比較一下:

RIFF Note AIFF Note
Chunk ID RIFF Chunk ID FORM
Chunk Size 4 Bytes Chunk Size 4 Bytes
RIFF DATA WAVE form data AIFF
 一到多個 chunk   各種 chunk 1
Offset Size Description Value
0x00 4 Chunk ID "fmt " (0x666D7420)
0x04 4 Chunk Data Size 16 + extra format bytes
0x08 2 Compression code 1 – 65,535
0x0a 2 Number of channels 1 – 65,535
0x0c 4 Sample rate 1 – 0xFFFFFFFF
0x10 4 Average bytes per second 1 – 0xFFFFFFFF
0x14 2 Block align 1 – 65,535
0x16 2 Significant bits per sample 2 – 65,535
0x18 2 Extra format bytes 0 – 65,535
0x1a Extra format bytes *
Common Chunk
Sound Data Chunk
Name Chunk
Author Chunk
Copyright Chunk
Annotation Chunk
Audio Recording Chunk
Application Chunk
ID3 Chunk
MIDI Data Chunk
未壓縮
Code Description
0 (0x0000) Unknown
1 (0x0001) PCM/uncompressed
2 (0x0002) Microsoft ADPCM
6 (0x0006) ITU G.711 a-law
7 (0x0007) ITU G.711 µ-law
17 (0x0011) IMA ADPCM
19 (0x0013) ADPCM (Sierra)
20 (0x0016) ITU G.723 ADPCM (Yamaha)
49 (0x0031) GSM 6.10
64 (0x0040) ITU G.721 ADPCM
80 (0x0050) MPEG
257 (0x0101) IBM µ-law
258 (0x0102) IBM a-law
259 (0x0103) IBM AVC Adaptive Differential PCM
65,536 (0xFFFF) Experimental

NONE (未壓縮)

fl32 (32 bits floating)
fl64 (64 bits floating)
a-law
u-law
FL32 (32 bits floating)
ADP4 (4:1 Intel/DVI ADPCM)
ima4 (IMA 4:1)
ACE2 (ACE 2-to-1)
ACE8 (ACE 8-to-3)
DWVW(Delta With Variable Word Width)
MAC3 (MACE 3-to-1)
MAC6 (MACE 6-to-1)
Qclp (Qualcomm PureVoice)
QDMC (QDesign Music)
rt24 (RT24 50:1)
rt29 (RT29 50:1) 

壓縮格式, 寫在 Common chunk