2010年5月30日 星期日

Some Useful Accessories

這篇只是閒聊文  :P  我是一個 PC / Mac switcher,家裡有 PC 組裝桌機以及兩台 Mac,我不像某些使用者有很多五花八門的配備,比如說好的音響啦、耳機啦、不只一台的超大螢幕啦、多功能的昂貴鍵盤滑鼠啦、NAS 啦,記憶卡或 ATM 讀卡機啦,或是種種五花八門的 USB 小玩意 [1]。

這篇文章裡我想提一下我使用的兩個便宜又泛用的小玩意。

1. 多功能讀卡機 + 隨身碟
讀卡機百百種,我一直不願意買是因為我覺得讀卡機很醜,體積不小,還要牽一條線出來,又不是外接硬碟,搞這麼複雜幹嘛 ? 直到我看到我朋友買了一個跟隨身碟沒兩樣的讀卡機,才整個讓我改觀,該週末就去光華商場買了一支類似的產品回來,我找到的是下圖這個 :


很不錯吧,支援多種記憶卡,價格非常便宜,印象中是兩三百塊,使用到現在一兩年了還是非常滿意。現在越來越多類似的產品,價格更低,甚至一百塊有找,不過只能支援 SD 卡,我的 Sony 相機用 MS 卡,所以還是用 Rowa 這種多功能的比較好,反正沒貴多少。

2. 噴霧罐電腦清潔器
這是我在實驗室看到的,因為老闆要省錢所以用這個,讓我想到我的組裝桌機很久沒清灰塵了,風扇噪音越來越大,想當初我的桌機可是噪音很小的。打定主意後又跑光華去買了一罐,非常好買,隨便找一家堆滿電腦配件的店就有,而且很便宜,我花了 199 吧,大約像下圖 :


牌子是 Wind,其實看起來蠻像殺蟲劑的  XD  裡面是液化的高壓氣體,噴出來有一點臭 [2],建議邊開窗邊開電扇使用。噴的時候由於氣體吸熱氣化,會讓瓶子變得冰冰的,是正常現象。我把機殼內的風扇吹一吹,現在噪音小很多,相當推薦這類產品。不要再省錢用紙或布去擦了,浪費時間又效果不好,花個兩百塊可以用很久,甚至也能清別的東西,何樂而不為 ?


附註
1. OK.... 我知道 accessory 這個字不應該亂用,比如說螢幕、鍵盤、滑鼠都應該稱為 peripheral 才對,只是這裡把這些東西都比喻成額外的配備,沒有也不影響基本的使用,所以用 accessory 這個字。
2. 這類噴霧劑都會加入一些苦劑,這是安全措施,避免有小白亂噴在身上或嘴裡。

2010年5月29日 星期六

物理化學 (光譜) 組的未來

昨天從 YMC Lab 離職之後 [1],開始要為下一步做打算,我目前申請的工作八月才起聘,如果錄取了,勢必有兩個月的空檔;但若沒錄取,我也不打算再待在學校,直接進入業界。

現在的重點是,去業界要找什麼工作 ? 一般人對於化學系畢業的人,大多會說 "阿~ 你可以去化妝品公司阿!"、"化工廠還不錯阿,傳統產業很安定!" 或 "可以去當化驗師阿,好像很厲害".....等等。我想說的是,上述的工作我通通不能做 [2]。

為什麼? 原因在於我的研究領域,化工廠裡的那些工作,要求的是合成的能力;化驗師檢測師之類的工作,要求的是操作很多種不同的分析儀器的經驗及能力,以上是有機、無機、生化、分析化學組的人的專長,物化組的人根本插不上邊。

我來說一下物化組是怎麼樣的一個組,其實物化組又分成幾組,一是材料化學組、二是計算化學組、三就是光譜實驗組,當然以上的名稱是我隨便取的,並沒有實際這樣分,可是領域差很多,不太可能跨組,頂多是合作,但那沒有多大作用,理論跟實作是差很多的。

材料化學組其實跟有機無機蠻類似,基本上也是在合成,只是他們必須懂更多材料的性質,修的課也會偏材料系一點,雖然是少很多;計算化學組是完全在電腦上跑計算程式的一組,有些實驗室會偏向開發新的理論,但有些是偏向使用已知的軟體工具來算不同的分子系統。他們一般來說都會學習 Unix-like 的 Shell Script 的寫法,因為遠端的電腦 cluster 都是架在 Unix-like 系統上面。如果是偏理論的實驗室甚至要求學生及研究員能自己開發新程式,以應付新理論的計算工作;光譜實驗組主要是跟雷射打交道,利用雷射光源照射在分子上,觀察時間解析或頻率解析的光譜,至於怎麼訓練就是看該實驗室的慣例,因為會差很多。以我的實驗室來說,學生必須要會自己架設一套光譜系統,不管是不是無中生有,總之一定要會這種技術,不是只會使用商業儀器測光譜而已。下圖是我從無到有架設的光學系統 :



之後利用程式控制儀器偵測光譜。由於實驗有失敗的風險 (如果你是該實驗室做的新實驗的 pioneer,失敗一年都是很常見的事),因此也不見得會學程式 [3],重點還是放在實驗及內部的化學原理,光譜組在某些部分跟計算化學組類似,就是我們都沒有生產力,只是對於已知的系統,研究內部的原理,包含隨時間變化的關係,或是分子內部的轉動振動等等的定性定量分析。也因此為了研究需要,必須要修量子化學、動力學等等的課 [4],光學的基本知識也要有,另外也要會處理一些基本的電子電路或冷卻系統的管線 (這是為了保養雷射),如果是像我這種曾經想走學術界的人,還可能去外系修其他關於光學、量子的課。

看出癥結在哪裡了嗎? 就是光譜組的人頂著化學系學生的名號,卻一點都不像化學系的學生,化學系的強項我們都不行,不會合成、不會操作 NMR、不會操作 SEM、不會操作 Mass [5],計算化學組的好歹會寫程式,我們也不會 [6]。你要跟 interviewer 說 "我會看光譜" 或 "我量化很強" 這種鬼話嗎? 上司頂多回一句 "喔? Sowhat?" 然後就下一位了,誰管你是不是台清交。去找光學儀器的工作 ? 很好,你贏得了物理系或光電所的人嗎 ? 這時候你以前另外學的化學底子完全沒有用。我個人還是想找這方面的工作,畢竟我只會這個,而且我自認我比同樣光譜實驗室出來的人強一些,但還沒試過不知道結果如何。

我寫這篇文章的用意是,勸想進光譜實驗室的化學系學生,除非你要走學術界,不然不要去 ! 不然你就等著做跟所學無關的工作,比如說台積電爆肝工程師,根本只要求你是化學系畢業就可以,那你以前修量化測光譜搞到天亮是為了什麼 ? [7] 或是考公職,那你大學畢業就可以去考了,多浪費兩年幹嘛 ?

沒錯,一般進到光譜實驗室的人,除了要混文憑的,大多是化學系裡程度比較好的人,因為實驗及修課的內容都比較難,一天到晚面對不知道哪裡出現的問題又要自己 debug,跟那些管線或扳手打交道簡直又像水電工 .... 但我現在回頭一想,我是學到很多沒錯,但那是不是我的自我滿足 ? 如果再讓我選一次,我還是會選同樣的實驗室,因為這是我的興趣,但是我不會再選擇去 YMC suck Lab 當助理浪費時間,而且我會趁年輕時多玩一些,不要那麼辛苦,因為我極度有可能沒辦法用我的所學去養活我自己。

這篇的確很對不起我在清大的老闆 PYC,我認為沒有更好的老闆了,但是我看了幾個相關實驗室的學長的 "下場",除了走學術界之外幾乎都是作完全無關的工作,而且還不是很好找。加上我進入 YMC Lab 之後沒發生過好事,有感而發,如果不認同我的看法也沒關係,這篇只是提供我個人的經驗而已。


附註
1. 我真的沒辦法忍受這個老頭,反正薪水也很低,我的朋友聽到碩士級 RA 居然只有兩萬多的月薪都說離職也無仿,何況學不到東西又很難相處,還沒見過這種實驗室,YMC 這老頭只是想招聽話的技工而已,根本不該招研究人員。
2. 當然啦,要去應徵還是可能會錄取,只是幾乎全部都要重學,會比其他人辛苦。
3. 如果是要待很久的博班學生就沒得挑,一定要學,碩班只會待兩年左右,第一年還得修課,時間太趕了,況且連光學系統的架設跟樣品的製備都不見得順利。
4. 話雖這樣說,可是還是有人不修這些課,也糊里糊塗地畢業了。
5. TOF (Time Of Flight) 那個只是 Mass 的一小部分,大部分配合雷射,去沒雷射的地方誰在跟你用這個 .....
6. 不要告訴我 LabVIEW,那種程式語言效率之低,介面又很醜,我實在不想拿這種東西給客戶,即使很多實驗室的客戶不在意。
7. 好啦....我承認這有些是我自己造成的  = =  老闆並沒有這樣操我 .....

2010年5月22日 星期六

MacTalks -- Apple 日報



這是一個非常有趣的網站 :P 我忘記我在何時發現它的,它其實不是一個單一作者群的網誌,而是採用聯播的方式,將有參與聯播的網誌的新文章公佈出來,所以每天都有不同的新內容,因為這麼多聯播的網誌裡,總會有作者寫新文章吧 ? [1] 也因為這樣的特性,它就像每天的 Mac 報紙一樣,但又不像 RSS,要自己去該網頁訂閱,而且追著你跑 [2],報紙想幾天沒看都沒差,我比較喜歡這種輕鬆的感覺。

我曾經有想過要不要把自己的網誌也去申請聯播,但是後來想說 .... 這個網誌的文章也不是全部都跟 Mac 有關,而且只有週末有新文章,更新速度有點慢 .... 所以還是不要去丟人現眼好了  XD

在此要感謝每天不辭辛勞寫新聞文章的網誌作者,多虧你們我才能方便取得最新的科技資訊。

附註
1. MacTalks 跟 Frosty (老地方冰果室) 有很大的差異,老地方冰果室的新聞文章來源非常單純,而且會把所有文章保留,所以你可以翻到一週之前的新聞,但是 MacTalks 僅僅會保留該網頁一頁的量,真的就像一份報紙。
2. 事實上我就是討厭這種無形的壓力,所以才不用 RSS 的,寧可自己連上該網頁去看。

2010年5月16日 星期日

用 Xcode 編譯程式的幾個基本要點


由於事情很多,沒什麼時間花在 debug 上面,拖了一兩個月,才總算把之前寫的 Energy Converter 修好 (事實上才開 Xcode 不到三次吧...),中間出現一大堆靈異現象,一些最基礎的問題反而在網路上找不到解法。修好 Energy Converter 非常重要,因為那是我第一個用 Xcode 編譯的 GUI 程式,這個起頭若沒有做好,以後不管寫什麼都沒有用,在別人的電腦不能執行的程式根本就是沒有意義的垃圾。

一開始是我的另一台 PPC G4 Mac mini 的 Xcode 有問題,不管是多簡單的程式,怎麼編譯都會失敗;再來就是我用 Intel MacBook 編譯的程式到了別台 Mac 上居然會 crash.. 我很晚才發現這件事,所以我才後知後覺地拖了很久才在 Energy Converter 的主頁上放上 "注意 ! 內有 Bug 尚未修復 !!" 的字樣。這篇文章就是要講一些在打包程式時要注意的瑣事,因為教學的書或網路文章幾乎不會寫這個,大多是把焦點放在程式碼的撰寫或圖形介面的美化,但是這一步失敗,你的作品也是發表不出去。我不清楚 Apple 官方的開發者文件有沒有把這些寫清楚,可是我沒有時間看了,所以依照個人經驗在網路上留個底吧。

先從第一點來好了,我在 mini 上編譯程式從來沒有成功過,每次都出現以下的錯誤訊息 :


看起來是 WebKit 的問題 .... 有趣的是,我看不出我的程式哪裡跟 WebKit 有關,或是這麼說吧,最好是我的功力有辦法寫網路相關的程式啦 ! Xcode 是在玩什麼把戲 ? 網路上完全找不到解法,有人問一樣的,可是沒人回答。我去 PTT 上尋求高手解答,得到的只是把 WebKit.framework 加進去,當然是沒有用,所以現在我 mini 上的 Xcode 完全葛屁了,我已經放棄去修它了,反正 Script Editor 還能用,而且這台老 mini 還有別的用途。

第二點就是軟體包裝的問題,Mac 上的程式比 Win 的程式麻煩的地方在於,Mac 曾經換過 CPU 心臟,也就是 PowerPC -> Intel,而兩者的程式當然不能共用 (先不提 Rosetta 技術),也因此 Apple 提出 "Universal Binary" (簡稱 UB) 的概念,也就是在一個程式內包含兩種 CPU 所需的程式碼,以應付這個過渡時期。但是 Xcode 預設是將程式編譯成該 Mac 上 CPU 的應用程式,而不是 UB 程式,所以要手動修改一下,點選左側 Groups & Files 裡的 Project 選項,然後按下 Info :


選擇第一個選項 "Architectures" 並點選 "Edit" 即可勾選你的程式要支援的 CPU。

第三點是程式內部的任何檔案,比如說圖片檔、音效檔,甚至是圖示檔,都一定要複製到 Resource 類別裡,不然這個程式在別的電腦上都抓不到這些附屬的檔案。一般的圖片檔放到 Resource 裡之後,會被貼到程式的視窗中,或是用程式碼讀取載入,應該是不會有人弄錯 (應該啦),但是圖示檔要貼到哪去呢 ? 答案是在 Target 類別下的程式  *.app 裡,點選它並按下 Info,就可得到下面的示範圖 :


將 Resource 裡的圖示檔拖拉到 Icon File 的欄位裡即可,這樣編譯出來的程式就會直接有自定的圖示。

最後是 ZeroLink 的問題,一般的 GUI 程式都會連接很多不同的 library 或 framework,那些東西很多是作業系統提供的,程式執行時再去抓取所需的資源來用,而 ZeroLink 就是去除這個步驟,把要連結的資源都包在程式裡,理論上執行會比較快。但是相對地,如果少包了什麼東西,就會發生程式不能在其他電腦跑的窘境。之前的 Energy Converter 就是發生這種事情,下面是 crash report 的截圖 :


好像是少了一個圖檔,然後 ZeroLink 的步驟炸掉。所以我才意識到要把圖示檔加進去,可是還是 crash ... 於是我使用一個消極的方法 -- 不要用 ZeroLink 不就好了 ? 在工具列上的 Build 選單裡選擇 Build Result,會看到 "Active Build Configuration",預設是 "Debug",這是有使用 ZeroLink 的編譯型態,要關掉這種討厭的東西,就用下拉式選單選 "Release" 即可 :


於是編譯出來的程式 app 檔不再存在於 Build/Debug 的資料夾裡,而是 Build/Release 裡,兩個 App 檔看起來都一樣,可是 Release 的 App 測試起來就沒問題。我不清楚其他用 Xcode 編譯程式的人是怎麼把軟體打包起來的,這只是我的經驗,經過這段痛苦的過程,也是學到了一些東西,希望這篇文章能給遇到同樣問題的初學者一點幫助。

2010年5月15日 星期六

iWork 09 檔案 v.s. 內建封存工具

這是最近才發現的一個有趣現象。由於我碩士畢業已經將近兩年,很久沒有使用 iWork 去寫正式的文件 (當助理的日子裡在實驗室用 M$ Office 寫那些很醜的文件就先不提了)。最近自己在進行一個 project,為了該 project 的需要,再次開啟 iWork 09 的 Pages 來用 (話說我升級之後,只使用過 Keynote 畫圖,Pages 跟 Numbers 完全沒動過 ....)。

應該很多人知道 iWork 的檔案其實是一個檔案夾,從右鍵選單就可以看得出來:


那個 "顯示套件內容",簡直讓 iWork 文件檔看起來像一個 Bundle 應用程式一樣,在 Windows 下看就是一個資料夾。事實上,如果有使用過 Xcode 寫 "Document-based" 程式 (意指這種程式可產生出一種自製的文件檔案) 的人,應該會知道製作出來的文件,在 Cocoa Framework 下根本就跟應用程式一樣,呈現出來給使用者看的介面也是由 Interface Builder 做的,如下圖:


但是 iWork 09 開始,情況大有不同,如下圖:


可以看出 iWork 09 的檔案已經不再是資料夾,而是一個單一檔案。這樣的好處是當你要上傳至 FTP 或網路硬碟的時候,可以直接整個檔案上傳,避免有些伺服器或客戶端軟體只把這類檔案當成資料夾,上傳時把檔案拆開來上傳,爛掉的機率就很高。想當然爾,09 的檔案是不能被 08 以前的 iWork 打開的,不過這並不代表 Apple 改寫了整個檔案的內部,其實它們只是幫使用者做個打包的動作而已,就像我以前都會把 iWork 08 的檔案封裝成 zip 檔再攜帶是一樣的。

有趣的事情就在這裡發生了,當我把 iWork 09 的檔案打包成 zip 檔之後,使用系統內建的解壓縮工具去開,它很 "自動地" 把 iWork 09 的檔案也一起拆了,變成資料夾。 = =


這是怎麼回事呢 ? 這是因為系統內建的 BOMArchiveHelper 有一個特性,就是它會持續解壓縮解到它不支援的文件格式才停止。比如說解壓縮 test.txt.zip.zip.zip,它會直接解壓縮三次,到 test.txt 才停止,平常是很好用,可是在這種時候就顯得多管閒事。不過值得高興的是,在 10.5 之後,BOMArchiveHelper 改名成 "封存工具程式",而且修正這個功能了。


要怎麼解決這個問題呢 ? 其實很簡單,改用別的解壓縮軟體即可,我推薦支援格式最多的 The Unarchiver

2010年5月9日 星期日

在晴朗的一天出發 -- 梁靜茹



其實我也不知道為什麼,我特別地喜歡 "旅行"、"啟程" 這類的歌,或許跟我不喜歡安於現狀,總是想去新地方嘗試新東西有關吧 ? 梁靜茹有很多這類的歌,每一首我都很喜歡。 :P

討厭的是,這類的歌很多都沒有 MV.......... = =凸凸凸

The ABC's of Animation



這是我在網路上看到的一個短片,裡面把製作動畫的基礎講得很詳細,雖然我的英文聽力還不夠好,但旁白的發音還算標準,不是很難被聽懂 (好啦,我還是很多地方聽不懂 orz)。總而言之非常推薦這部影片 !

2010年5月8日 星期六

暗藏在影片中的幽靈聲音軌

這個週末我在我的 Mac mini 上進行一個有趣的 project (是什麼就先賣個關子),就在剛剛我為了作業上的需要打開我電腦中的一個影片檔,但是發生了有趣的事 -- 就是影片中傳出來的聲音除了劇中人物的對話,還多出了另外兩個不知名的人的疑似影評或討論劇情的對話

這實在是太有趣了,因為我在 Windows 上用 K-lite + MPC 去播放該影片,完全沒發覺這個問題。這個幽靈聲音軌的存在感超強,聲音很大,根本不可能沒聽到,所以我就回到 Windows 上用 MPC 打開這個影片並看看它的聲音軌是啥....


嗯,真怪,只有一個?雖然沒有播放出詭異的聲音,但是也不是聲音軌選對選錯的問題 .... 那在 Mac 裡的 Quicktime Player 7 Pro 下看又是怎樣呢?


真相大白,原來根本就有兩個聲音軌!只是 MPC 只能抓到一個,而在 Quicktime Player 中兩個都看得到,但是預設抓了那個 mp3 編碼的聲音軌,那個聲音軌裡面有全部的聲音,包括那詭異的旁白。所以只要把那個 mp3 編碼的 "聲音軌 2" 關掉,選擇 AC3 編碼的 "Surround" 就可以了,這個聲音軌也跟 MPC 裡抓到的聲音軌名字相同。

其實 Quicktime Player Pro 真的是很厲害的軟體,播放、剪輯、轉檔等等簡單的工作都可以做。現在 Snow Leopard 上的 Quicktime Player X 完全是不同的東西 (這要解釋就要扯很久了 ..),建議還是要額外安裝 Quicktime Player 7,才可以享受 Quicktime Player 完整的功能,何況 Snow Leopard 之後已經沒有分專業版跟普通版了~