星期日, 8月 26, 2012

Code Rush - Mozilla 紀錄片

MozTW 軟體自由日《Code Rush》放映會
〈Code Rush〉是 David Winton 導演於 1998 年至 2000 年間拍攝的紀錄片,紀錄了矽谷的 Netscape 工程師們將瀏覽器原始碼釋出,成為 Mozilla 專案的經過;同時 Netscape 也正經歷被 AOL 併購的過程。本片描繪了 Netscape 的工程師們,犧牲日常生活與家庭,努力防止他們的公司倒閉的經歷。...

這部紀錄片詳實的記錄了程式設計師的生活, 對寫程式的熱情與執著, 矽谷的掏金夢, 投資銀行家的市儈與貪婪, 以及 2000 年當時尚未破滅的網路泡沫.

我在想, 其實不只是矽谷的 Netscape, 在台灣電子新貴的那個年代, 應該也有這麼一群群爆肝工程師, 犧牲日常生活與家庭, 用自己滿腔的熱血去鎔鑄擊殺競爭對手的神兵利器; 或是燃燒自己的生命去為落後的產品線爭取一線生機. 然而個人的熱情終究抵不過大環境的現實. 在面對 AOL 的併購, Netscape 員工只能落寞的安慰自己, "這畢竟比起被 Microsoft 併購要來的好得多".

這可能就像是, 平常熬夜加班, 企圖開發出更優異產品的晨星工程師, 在隔天看到被聯發科併購消息的時候, 心裡所感受到的一股失落.

然後 Netscape 的故事卻又讓我聯想到一篇文章 你絕對不應該做的事之一.

事無絕對, 也許就是有這麼多林林總總, 才有今日蓬勃發展的 Firefox.

星期二, 4月 17, 2012

TME 開放原始碼

從去年底開始規劃到現在,TME 終於在這次的 OSDC.TW 2012 上面宣佈公開原始碼。

TME (Trend Message Exchange) 是我進入趨勢科技的第一個專案。最初的 TME 是由美國那邊的團隊做完 PoC (Proof of Concept, 概念驗證) 然後移交給台灣的研發團隊。只是過程中也許是沒溝通清楚,竟然直接讓 PoC 的東西上線,後果當然是狀況連連。這時的 TME 統稱為 TME 1.0,正好是我進入公司的時間點。

經歷一段時間的痛苦期,最後還是決定『砍掉重練、原地重建』。我們重新設計系統架構之後,稱之為 TME 2.0,最早由我獨自進行開發,我還記得第一次的 milestone demo 是在 2009 年 9 月下旬左右。

隨著專案的進行,逐漸有其他成員加入,高峰時期大約有三位 RD 與三位 QA 總共六個人參與。專案約在 2010 年 Q3 左右完成,隔年逐步完成既有使用者更新與新服務的導入。2011 年年中取得高層授權 open source,年底開始著手進行 TME 2.5 開發並籌備 open source 事宜。從 TME 2.5 開始,我已不再參與開發工作,往後的維護與新功能的開發撰寫,主要由 lunastorm 在獨挑大樑。open source 的籌備過程中 lunastorm 貢獻良多,可以說是花最多心思、出最多力的人。而我多半在與公司的內部流程溝通交涉。

OSDC 前夕,我在網站上瀏覽這些過去所寫的程式碼,熟悉之外,也覺得深深的感動。

以前也曾想過該用什麼方式來參與 open source 專案,但都是插花似的貢獻幾個 patch 而已,沒有 TME 來的這麼完整,而且還是工作相關的專案衍生而來,這實在是當初所意想不到的。

無論如何,完整的把一件事做完了,為文以誌。



http://tw.trendmicro.com/tw/about/news/pr/article/20120417030109.html

趨勢科技持續支持開放原始碼 公開 TME原始碼於相關社群平台

【 2012 年 4 月 17 日 台北訊】 全球雲端安全領導廠商趨勢科技 ( 東京證券交易所股票代碼: 4704) 今天宣布將其事件觸發訊息匯流排 Trend Message Exchange ( 簡稱 TME) 的原始程式碼 公布於開放原始碼社群平台。趨勢科技持續支持原始碼開放,期許 TME 架構能更廣泛被運用於不同的領域。

趨勢科技開發 TME 的宗旨是為了解決高擴充性、符合成本效益的訊息基礎架構需求,使資料中心能有效率地串流內部資訊安全事件。 TME 具有輕鬆管理並擴充即時處理能力的特性,能即時處理龐大的資訊流。 Trend Message Exchange 是高可用性、高擴充性的訊息傳遞架構,由趨勢科技所設計開發,專為傳遞及處理大量事件訊息而設計。

趨勢科技資安解決方案架構師 Andrew Purtell 闡述:「 TME 的架構具備水平擴充能力,該架構現在每天可處理趨勢科技資料中心內的數千個事件串流與數十億個事件。 TME 提供圖形化網頁主控台,管理者可即時管理串流的工作流程,進而達成營運能力提升,且大幅降低服務部署時間的目標。 」

趨勢科技 TME 負責人黃振修表示:「 TME 是趨勢科技 Smart Protection Network™ 的關鍵元件。 Smart Protection Network 整合來自全球感應器網路的資訊,即時蒐集並發掘威脅,以達成防範資安威脅的功效。 TME 的優異效能與 便利 性能支援 SPN 防範資安威脅的目標 。現今的開放原始碼計劃內容為 TME 發展 的 基礎,正因為站在巨人的肩膀之上,所以我們才能迅速實現有效防範資安威脅的目標,因此,趨勢科技決定將成果回饋給開放原始碼社群,希望 TME 架構能更廣泛地被應用於各個領域 。」

台灣開放原始碼開發者大會 (Open Source Developer’s Conference) 主辦人 簡信昌 對趨勢科技此舉表示支持 , 他說 : 「趨勢科技在 2012 年接連釋出 "HijackThis” 與 "Trend Message Exchange (TME) ” 的原始碼。 TME 原始碼的開放 對台灣軟體和雲端運算產業來說是一項重大指標。身為開放原始碼的提倡及推廣者,我們非常樂見趨勢科技台灣研發團隊所發起的 TME 開放原始碼計劃,它將促進軟體產業對開放原始碼的參與和貢獻」

趨勢科技將繼續維護該程式原始碼,開發人員一有任何重要修改,就會將其更新在 Github 上。此次開放原始碼的作法,有機會使訊息匯流排架構更加先進, TME 亦有機會獲得進一步發展,甚至成為一套更優異的解決方案。

該原始碼現已正式開放下載,網址為:https://github.com/trendmicro/tme

星期日, 4月 01, 2012

[推薦] 給基層主管的37封信

給基層主管的37封信
http://www.books.com.tw/exep/prod/booksfile.php?item=0010531021


幾個月前,有人好奇的問我:轉換到管理職後的心得與感想,或是工作上的不同處。

我想,差異處固然是很大,學到的東西也很多,可是卻不知道該怎麼講出來。
只好說,不然你想知道什麼,讓你問,我盡量回答。
但我知道這樣其實沒用,因為根本不知道有哪些問題可以問。

過年後,剛好另一位同事也給了我一個題目『Things I learned as a manager』,要我在weekly上sharing。
我也很傷腦筋該怎麼講,就只好先拖一陣子,等有想法再說。

很巧,最近看到一本書『給基層主管的37封信』。裡面講的,跟我所經歷的種種,有很高比例的重疊。
我覺得這本書整理的很好,有很完整的架構,實用而沒有太多生澀的理論。

推薦給可能會有興趣的你。

星期六, 1月 28, 2012

杜拉克 - 經理人及其工作

經理人的標準定義是,如果一個人必須為他人和他人的工作承擔責任,那麼他就是一位經理人
經理人有兩項特殊的任務,凡是必須承擔這兩項任務的人都是經理人。

1. 創造出大於各部份總和的真正整體,創造出有生產力的實體,而其產出將大於所有投入資源的總和。經理人必須善於發揮資源優勢,尤其是人力資源方面的長處,以中和其短處。
2. 調和每個決策和行動的長程需求和眼前立即的需要。換句話說,他必須一方面埋頭苦幹,一方面放寬視野,高瞻遠矚。經理人既不能說『船到橋頭自然直』,也不能說『真正重要的是百年大計』。如果經理人不能處理好未來一百天可能遭遇的問題,公司或許根本看不到百年後的未來。經理人穿梭於兩種時間範圍內,為企業整體績效和自己部門的績效負責。

經理人的工作中包含五項基本任務,無論他是否意識到這些任務,他們在管理的時候都會做這些事情,他可能做得很好,也可能做的很差,但他總是在做這些事情:

1. 經理人設定目標,決定目標該是什麼,也決定該採取什麼行動,以達成目標。他將目標有效傳達給部門員工,並透過這些員工來達成目標。
2. 經理人從事組織的工作,他分析達成目標所需的活動,決策和關係,將工作分門別類,並分割為可管理的職務,將這些單位和職務組織成適當的結構,選擇對的人來管理這些單位,也管理需要完成的工作。

3. 經理人必須激勵員工,和員工溝通。他透過管理,透過與屬下的關係,透過獎勵措施與升遷政策,以及不斷的雙向溝通,把負責不同職務的人變成一個團隊。

4. 經理人必須為工作建立衡量的標準。他必須確立組織中每個人都有適用的衡量標準,衡量標準把重心放在整個組織的績效,同時也放在個人工作績效,並協助個人達成績效。

5. 經理人必須培養人才。經理人可以透過管理方式,讓員工更容易或更難以自我發展。他可能引導下屬朝向正確的方向發展,也可能誤導他們。他可以激發他們的潛能或壓抑他們的發展。他可能強化他們的操守,或令他們腐化。

善用時間的經理人花在和上司溝通的時間遠大於和屬下溝通的時間,他們不和屬下討論自己的問題,但是卻懂得如何讓屬下主動談論他們的問題。善用時間的經理人也花很多時間思考上司的問題,以及思考他對上司,對整個企業的成功,可以有什麼貢獻。

lec-1 (2022-05-12) Accelerating deep learning computation & strategies

雖然用 DNN train/predict model 也好一陣子了,但這週才是第一次搞懂 cuDNN 是作什麼的 以前好奇過 tensorflow/pytorch 是怎麼做 convolution 的,FFT 不是比較好嗎? 下面的 reference 就給了很好的解釋: Wh...