2013年5月25日 星期六

宅男健身教室-20分鐘訓練

介紹一個我很喜歡的Workout
有效又省時

計時20分鐘,重複下列循環
-----
5下拉單槓
10下伏地挺身
15下蹲站
-----
看最多能做幾輪

我通常能做20輪左右

這邊還有很多類似的訓練
http://www.elementcrossfit.com/benchmark-workouts/

沒單槓的話,5下單槓可以先改成仰臥起坐10下
不過我還是老話一句,單槓一定要有
去買那種鎖死在門框上的就可以了,最便宜又穩
http://www.amazon.com/Sunny-Health-Fitness-Door-Chin/dp/B0016BNDXI


希望各位阿宅都能擁有強健的體魄

2013年5月18日 星期六

論文整理

最近我和同事們和一些學界人士合作的研究論文被Facebook貼出來了
因為我們的論文剛好是第一篇,所以標題
XORing Elephants: Novel Erasure Codes for Big Data」
也被techcrunch寫出來

我趁機上Google Scholar整理了一下我的論文出版列表
發現我的h-index竟然還有11,有點開心

不過我想我應該已經和學術界無緣了
我原本也有心想當一個教授
可是我已經回不去了
當初剛畢業去找或許還有幾會
現在經過這幾年被工業界「玷汙」之後應該條件變差很多
而且最近幾年也沒追到學術界流行什麼
回去了得重頭開始,沒有什麼優勢

在這邊可以看到我的論文出版列表
http://scholar.google.com/citations?hl=en&user=zlb7A0oAAAAJ

(此圖為一書的封面,我讀博士的時候寫了其中一章)


2013年5月11日 星期六

我媽媽

一直想寫下一些對母親的記憶,正好母親節到了,我想趁這個時候記下一些事情,也算是對母親的紀念

我媽媽1946年出生於台南,2012年過逝於台北,她出生於一個重男輕女的貧窮家庭,是六女一男小孩之中第四個女兒。她出生時候登記名字叫做「楊不纏」,以現在的標準,感覺是個蠻酷的名字,但是實際上我想她的童年必須在同儕間使用這種名字、另外伴隨而來的是我外公外婆的不重視,是非常痛苦的。我媽媽是個極度好強的人,我想這跟她有這樣童年經歷有關。她跟我說過小時候她揹舅舅出門,被人用石頭砸傷,部分血流到舅舅身上,回家後外公外婆只在乎舅舅,很緊張地檢查舅舅是不是受傷,真正受傷的她反而沒人關心。我覺得是這些受岐視的經歷養成了她那種剛強的個性

不過她非常聰明而且超級認真,在學習上面有很好的表現,根據阿姨們的描述:她就是一個整天讀書的nerd。她的姊姊們都只有小學畢業,原本外公也要她停止求學幫忙賺錢,但是因為她成績太好,她的老師特別到家中拜訪外公外婆要她繼續升學,外公覺得很有面子,她才得以繼續升學。她在台南一路靠成績優異保送升學,進了台南女中,我覺得這是非常不容易的,沒有家裡的支援,並且又要幫忙家中的雜務之下,能夠在學校有這樣的表現,真的是很不容易。所以媽媽跟我們說這些事的時候,自己也覺得很驕傲

高中畢業後,外公要媽媽去工廠做文書的工作,媽媽還是想繼續求學,所以只好在全職工作之餘晚上自習,後來第二年考上淡江大學夜間部企管系。沒有家裡的支援之下,她獨自到台北工作求學,完成大學學業。媽媽說她到台北的時候,除了大包小包的東西,背後還背了一大坨棉被,「非常的聳(台語)」她說,這多少也描述了她獨自來台北求學的辛苦。她白天工作,晚上上課、讀書,根據她的說法,她就是在這個時候把身體弄壞了,中晚年之後她一直受身體病痛之苦。所以她時常叫我不要太認真,「這樣已經很好了,可以了,不用再好了」她都說這類的話

她是因為相親認識我爸爸的,我爸媽不常說他們認識的事情,現在想想他們幾乎很少說自己過去的事情。我覺得他們的人生其實有很多有趣的故事,只是他們自己覺得平凡無奇,但對我們這代人而言,是很新奇的故事,沒有聽他們多說過去的事覺得可惜了。我以後要記得多跟小孩說自己過去的有趣故事

我媽是個很幽默的人,她的一項絕活就是模仿我爸,我爸因為有嚴重的台灣國語,又常常說一些很經典的口頭禪,所以模仿起來非常好笑。我爸媽有著完全相反的個性,我媽個性海派、幽默風趣、朋友多;我爸個性內斂沉穩,話不多,但是他也非常聰明。他們兩人有點像郭靖、黃蓉的組合,我覺得像這樣的組合很不錯

我媽花非常大的心力在教育我們,小時候她做過不少工作,保險推銷員、補習班作文老師,但是都不長久,大部分的時間她是家庭主婦。我家裡有很多怎麼教小孩的書,兒童心理、兒童教育、兒童哲學等等,還有很多她收藏的故事書,她花了很多時間去研究別人怎麼教小孩。我想她教小孩確實有一套,不是我在自誇,我確實是個好小孩

不過我國中的時候常常惹麻煩,跟老師們的關係很差,我國中的時候曾經被老師調到教室最左前方的一個角落,桌子頂著牆角,其實看不到黑板,不過我也不在乎,因為我國中的時候從來不聽課,上課就是做自己的事,看小說漫畫,不然就算數學、想一些問題。我也曾經跟老師翻臉,氣到在教室跟老師對吼。我媽因為這些問題去學校很多次,她一直對我表示支持的態度,並不覺得我跟老師起衝突就是我的問題,算是很客觀地在處理這些事。我現在想想她當時給我的支持對我十分重要,因為這樣我才順利度過那段人生的黑暗期

後來我上大學的時候她的腎臟就出問題了,先是發燒很多天,之後去看醫生檢查之後就說她的腎壞了,經過幾年飲食控制之後就開始洗腎,洗腎是一件很痛苦的事情,而且身體會一直衰敗。經過十幾年洗腎,最後是因為洗腎而引起的癌症,在去年走了

我這半年多來不時想到她,有時候夢到她,有時候沒事就突然想到她,有時候很害怕自己忘記她。其實寫一篇關於媽媽的文章根本寫不完,跟媽媽一起度過的人生有太多事情可以寫了

希望有一天能再見到她



2013年4月30日 星期二

林益世裁判書的節錄

下面是法院不認為林益世構成貪汙的理由,請各位鍵盤法官一同研究,大家與其憤怒、幹譙、羨慕,不如來趁機來研究一下法律。

臺灣臺北地方法院 裁判書 -- 刑事類 101,金訴,47

http://jirs.judicial.gov.tw/FJUD/
--------
5. 節錄綜上可知,最高法院歷來對於公務員收賄等罪有關「職務上之行為」,原則上採取「法定職務權限範圍說」之觀點。此在行賄者與收賄公務員約定之賄賂對價事項,正係要求收賄公務員就其本身職務權限為特定行為之行使或不行使之情形,固無疑問(即「親自滿足對價事項型」)。然依現今公務員體系具有指揮監督、人事任命等關係之構造,高階公務員確可藉由自己所具有諸如人事權、指揮監督權(上下或平行監督)等特定職務權限,而實質參與、干預或影響其他較低階政府機關或公務員為特定之公務決定或執行(即「假手他人滿足對價事項型」)。此情形,毋寧更是造成國民不信賴政府機關公務執行公正性之主因。純粹的「法定職務權限範圍」說,除使高階公務員盡得以輕易脫免貪污罪責,更無法正確詮釋本罪所要打擊之貪污行為,並非法之正確適用。參諸本罪的保護法益,不僅在要求公務員公正執行法定職務,亦在保護一般國民對於公務員職務行使公正性之信賴。因此在「假手他人滿足對價事項型」之場合,倘收賄公務員係透過其法定職務權限或與之具有密接關聯行為(下稱「職務密接關聯行為」)之行使,直接或間接對於其他政府機關或公務員有關公務決定或執行,實質上產生具有關鍵性之影響力,進而滿足賄賂對價所約定之事項,其造成國民對於公務執行公正性之不信賴,影響更詎。最高法院前述99年度台上字第7078號「龍潭工業區購地案」及「陳敏薰人事賄賂案」判決及101年度台上字第6482號「二次金改金融控股公司合併案」判決,針對「總統」藉由附隨於人事任命權之實質決定權,而對「所任命之政府官員」有關「公務決定或執行」,利用親自參與、影響或干預而發揮實質影響力之整體行政行為,亦認為係總統「職務上之行為」,其意旨即在此。

6.本院就所謂「職務上之行為」,進一步闡釋所持意見如下(另參附圖一之1至附圖一之2圖說所示):在一般「親自滿足對價事項型」之情形,收賄等公務員直接藉由其基於法律或命令所明定(如機關組織法、行政作用法、法規命令、職權或職務命令、機關內部行政規則等)之法定職務權限所應為或得為之公務行為(即「法定職務權限行為」),作為其與行賄者約定之賄賂對價行為,其所行使之法定職務權限範圍內之行為,要屬「職務上之行為」。蓋因雙方所約定賄賂對價事項之滿足,係直接藉由公務員為或不為此法定職務之行為而成就,該職務上之行為具有賄賂之對價關係。


再如前所述,行政行為之態樣龐雜多樣,在立法技術上,絕無可能僅藉各機關組織法、行政作用法、職權命令或機關內部行政規則等各項法令,即能鉅細靡遺地將各式各樣行政行為具體、詳盡、毫無遺漏地完整規定,通常僅能就設置該公務部門欲達行政目的之重要行政行為加以規範。然不可否認,公務員於日常執行公務過程中,為能順利執行其公務,通常亦會實施某些非明定於其法定職務權限範圍內之行為。倘該等行為係在行政慣例或慣習上,得被認定係附隨其法定職務權限且與之密切相關,則雖非經法令明定,但其實際發揮之作用力及影響力,不論係就政府機關本身而言或自人民角度觀之,均與法令明定之公務員法定職務權限無異。且因係該公務員日常執行法定公務行為所通常亦會執行之行為,是對該公務員而言,非但無何難以預期之情形,毋寧更係其主觀上所清楚認知本為其法定職務行為之一環。因此,本院認為,本罪所稱之「職務上行為」不以經法令明定者為限,只要該公務員之行為依照其所屬行政機關之行政慣例或慣習被認為係附隨於該公務員法定職務權限並與之有密切關聯性者(即「職務密接關聯行為」),亦應認屬於該公務員「職務上行為」範圍內(亦即本罪所定「職務上行為」包括「法定職務權限行為」及「職務密接關聯行為」二者,如附圖一之1「類型一」所示情形)。公務員執行法定職務前之「職務準備行為」,執行法定職務過程中通常被認為係當然附隨作成之其他事實行為(「職務附隨行為」),或具有人事任命權限之上級長官對於「下級公務員職掌事項」所為特定「公務指示、指導」等行為(「公務指示行為」或「公務指導行為」),均屬之。


進一步就非典型之「假手他人滿足對價事項型」情形而論,倘就雙方約定對價事項之滿足,係由收賄等公務員利用其職務權限,而影響、干預其他政府機關或公務員有關公務之決定或執行所致之情形(即假手其他政府機關或公務員之行政行為而滿足賄賂對價事項),要不得因滿足賄賂對價事項之公務行為,形式上非該收賄公務員直接所為,且非屬其法定職務權限範圍,即認該收賄公務員就該對價事項之作成,無何「對於職務上之行為」要求、期約或收受賄賂之可言。此情形,應就該收賄公務員為滿足所約定賄賂對價事項之一連串行為及過程(亦即參與、影響、干預等行為及其過程),為綜合性、整體性之觀察與評價,該收賄公務員有無行使何等職務權限行為、所為與其法定職務權限之關聯性、有否藉其職務權限實質影響其他政府機關或公務員為或不為特定之公務行為、最終是否因此滿足賄賂對價事項、其間有否涉及政府公務行為及其程度等情節,而為判斷。


詳言之,在「假手他人滿足對價事項型」情形,倘收賄公務員行使其「法定職務權限行為」或前述「職務密接關聯行為」,並欲藉該等行為參與、影響或干預其他「政府機關或公務員之公務決定或執行」,進而使該政府機關或公務員作成與其職掌有關之「行政行為」,因而滿足收賄公務員與行賄者之對價事項時,因該對價事項之滿足,本質上係收賄公務員藉諸行使其「法定職務權限行為」或「職務密接關聯行為」對其他政府機關或公務員之行政行為發揮實質影響力所致,觀察其發揮實質影響力之整體行為與過程,實際上已破壞一般國民對於公務員公正執行職務之信賴,與收賄公務員藉其「法定職務權限行為」或「職務密接關聯行為」之行使直接滿足對價事項之情形,並無二致。是在此場合,「假手他人」之收賄公務員發揮實質影響力之行為,亦屬「職務上之行為」射程範圍(如附圖一之1「類型二」所示情形)。例如前述總統依憲法第56條規定,對行政院所屬各部會首長具有實質任免權,則總統針對某部會之職掌事項,親自「指示、指導或其他足以實質影響」該部會首長為具體之作為或不作為,此「公務指示等行為」雖非法令明定之總統職務權限,然總統之所以得以作成「公務指示」,無非因總統對於部會首長之任免具有實質決定權之故。換言之,倘無此任免權限即無作成此「公務指示」之餘地,可見此公務指示之行為,與總統具有之法定人事任免權限具有密接關聯性,乃法定職務權限之「職務密接關聯行為」,應認屬於總統之「職務上之行為」。惟為符罪刑法定主義之要求,所謂「職務密接關聯行為」及「實質影響力」之適用,有其界限。

(1)收賄等公務員必須係藉由自己之「法定職務權限行為」或「職務密接關聯行為」而能發揮實質影響力(其實質影響力之發生原因)。亦即,收賄等公務員對於其他政府機關或公務員有關公務決定或執行之所以具有實質影響力,係因其行使「法定職務權限行為」或「職務密接關聯行為」所致,如僅因具有公務員之「身份」(無關職務權限本身),或利用其社經「地位」、「聲望」、「勢力」或「人際關係」等與其職務權限無關之因素,縱其結果亦滿足對價事項之成就,因與其「法定職務權限行為」或「職務密接關聯行為」無涉,難認對於收受賄賂等罪所要求「一般國民對於『公務職權行使』公正性之信賴」之保護法益,有所侵害,自不在此等犯罪處罰之列。例如,行政院所屬部會首長依總統之「公務指示」而為特定之職務行為,該部會首長作成該職務行為,固足認係受總統所為與其法定職務(人事任命權)權限具有密接關聯之公務指示行為所實質影響;然倘某政府機關首長係向與其無行政隸屬或指揮監督關係之他機關公務員請託、干預使之為特定公務行為,該他機關公務員實係因與該政府機關首長之私人情誼、政治實力或人脈關係,始受其請託、干預,此時該政府機關首長對於他機關公務員公務行為之作成,實質上固亦具有影響力,然因該實質影響力係來自私人情誼,或礙於政治實力或人脈關係之不正干預,因與該政府機關首長之「法定職務權限行為」或「職務密接關聯行為」無涉,要難評價為此所謂之「實質影響力」(如附圖一之2I所示情形)。

(2)收賄等公務員發揮之實質影響力,以作用於其他政府機關或公務員有關「公務決定或執行」之作成,且足使該政府機關或公務員作成足以滿足賄賂對價事項之「特定行政行為」為必要(實質影響力之作用對象及所致結果)。倘收賄等公務員所發揮之實質影響力,並非作用於任何政府機關或公務員有關公務決定或執行之過程,或未導致任何行政行為之作成,則與本罪所要求「一般國民對於『公務職權行使』公正性之信賴」之保護法益無關,除另可能構成他罪外,不得以收賄等罪相繩。例如上級長官收受款項後,為某個人(或企業)之利益,親自利用其黨政與社經人脈關係向另一私人(或企業)關說、請託或施壓,促成雙方成立契約(附圖一之2II所示情形),或該上級長官係間接指示行政上受其指揮監督之下級公務員去為一與該下級公務員公務執掌事項無關之向另一私人(或企業)關說、請託或施壓(附圖一之2I所示情形)等情形,因該上級長官收受報酬之對價事項,乃不涉及公務性質之私經濟行為,其發揮影響力之結果,亦未使受影響之政府機關或公務員作出特定行政行為以滿足該對價事項,縱收受報酬且運用其身份、地位之影響力,仍非本罪處罰之對象。

(3)惟應注意的是,收賄公務員與行賄者約定之賄賂對價事項,縱不具公務之性質(如請託公務員協助促成私人買賣契約),只要收賄公務員於滿足該對價事項之整體行為過程中,有藉由自己「法定職務權限行為」或「職務密接關聯行為」之行使,並因此導致政府機關或公務員某項特定行政行為之作為或不作為,不論係收賄公務員親力親為,或間接利用其實質影響力使其他政府機關或公務員作成,仍屬本罪所稱之「職務上之行為」,尚不因雙方約定之賄賂對價事項不具公務性質,而異其結果。7.將「職務上之行為」解為包括「職務密接關聯行為」,是否有違刑法上之罪刑法定主義:刑法上之罪刑法定主義,係指國家立法機關藉由事先將入罪化構成要件明確定義及對外宣示之手段,以防止作為國家統治機關一環之法院僅憑一己好惡而恣意擴張或類推解釋刑法各罪之構成要件,並達保護一般國民不會在毫無預見下莫名遭受國家突襲處罰之目的。就公務員以對價方式出賣其職務行為(即職務受賄)之犯罪而言,立法技術上本來就無必要且根本不可能以正面列舉之方式,窮盡列舉各式各樣公務員職務行為之內容或行使職務之方式及其類型,僅能預設「職務上之行為」一語作為限定本罪之成立範圍,其理由已詳如前「3.」及「6.、」所述。在此情形下,所謂「職務上行為」自不應僅以純然符合法律保留之「法定職務權限」為限,即便係依照行政上已建立之慣例或慣習,社會通念足以被認為附隨於其法定職務權限而具有密接關聯性之準備行為或其他事實行為,均應認係職務權限範圍之行為。蓋如此解釋,非但符合一般國民常識與國民感情,該公務員也甚為清楚自己收受之財物或利益,與其利用與法定職務權限具有密接關聯性之行為間,具有對價關係,亦無難以預期的問題。是以,公務員就其「職務密接關聯行為」而要求、期約或收受賄賂,仍屬「職務上之行為」之範疇,尚無違反罪刑法定主義之疑義,不得僅因該收賄公務員之所為,非在法令明文列舉之職務權限範圍內,即認不得以收賄等罪處罰。


2013年4月22日 星期一

筆記工作法

我是個很容易分心的人,我一生一直在跟專心工作這件事情奮戰。之前寫過兩篇關於怎麼專心的文章,講的方法大致差不多,就是要用一個計時器,然後在時間沒到之前不能分心,如果分心的話,就要重新計時


專心的單位以半小時為目標,萬事起頭難,只要一熬過一開始那沒有頭緒的階段,後面自然做得很順,所以忍耐、不讓自己分心撐過半小時就能突破這個障礙

不過我最近遇到的難題是:用這個方法也沒用,因為我回到座位時就很多人來問問題、討論事情,再加上我常常開會,很難得到半小時的不被打斷的完整時間。我常常剛準備要來專心就有人來討論事情,然後我就忘了自己剛剛在做什麼,然後就去讀信,讀一讀才發現,啊!我剛剛那事還做到一半,而且事情做那邊也忘記了,很像老年痴呆症

前幾天突然想到,我可以把現在正在做的事情用Evernote(註一)記起來,然後把Evernote視窗開在一個明顯的地方(註二),這樣子我不管中間怎麼被打斷或是怎樣分了心,只要我回神之後馬上去看這一個Evernote視窗。我就會知道現在自己正在做什麼。這有點像有部還不錯的電影叫「Memento」講一個沒有記憶力的人,靠著記筆記來思考和生活跟欺騙自己

後來我在這個記事本裡愈記愈多東西,我一開始除了寫現在正在做的事之外,我還會寫一個小小的目標,還有我預計會花多久時間,規劃的步驟,可能遇到的困難等等。工作時,我會在工作和這個小筆記視窗之間來回。如果是寫程式,我改好了那個檔案或是測試過了某個步驟,我都會在筆記本記下。然後一開始規劃的步驟如果完成了,我就會用刪除記號把它刪掉,如果中間做到一半發現要增加步驟,我也會去這個小筆記視窗修改,總之這個小視窗像我的第二個腦,我想到什麼就寫到這個裡面

其實這個方法也是在資料庫系統常常會使用的一個方法,叫做check pointing(註三):系統會不時把目前的狀態寫到硬碟去,這樣子如果系統出現失敗,回復的時候就可以從硬碟裡讀出現在的狀態,然後繼續工作。只是我現在把這個電腦系統的方法用在我的肉身上面

實際用了這個方法幾次,我覺得這真的能有效的改善我的專注力,一看到筆記我就知道我現在正在做什麼,即使中間有事情把我打斷我也不怕。而且筆記裡面有我做事情的思路,也寫了我試過什麼方法,到最後把事情做完了,來回顧這個筆記,也能得到很多心得。工作完成的筆記可以封存到同一個筆記本之中,以後可以回頭來Evernote裡看某件事是如何完成的

寫這些網誌的時候,我也用了一個工作筆記,現在就開在這個網誌視窗的旁邊,我把這個筆記分享給大家看,見下面的註四


註二:我查過了Evernote沒有 Always on top 的功能,如果你知道怎麼弄,拜託告訴我

註四:以下是寫這篇網誌時所做的工作筆記

--------------------------------
現在要做的事:寫工作筆記法文章

開始時間:2013-04-21 10:50 PM

預計工作時數:半小時

目標:完成工作筆記法的文章

說明:這篇文章可以當作Blog發出去,但不一定要,也可以當作自己保留的筆記,不過要先寫成一般人都可以讀的

步驟:
1. 大概聊聊沒辦法專心的問題,太多分心,以及不能使用pomodoro,還有常常context switching等等問題
2. 聊聊最近使用evernote的事
3. 聊這個方法
  * 一個半小時到數小時要做的事情的短期計畫
  * 寫下目標,開始時間,預計完成時間,還有其他要注意的事項
  * 寫下步驟和一些高層的細節,把事情拆成小塊
  * 不斷來回在工作及這個筆記之間,如果想法改變就回來改變步驟,把試過、做過的東西記下
  * 完成的工作可以放在同一個筆記本裡,以後可以看看解決事情的思路
4. 讀個兩遍看有沒有不通順的地方
--------------------------------

Update: 我忘了提一點,這個方法要能夠運作,打字速度必須要夠快才行,這樣子寫筆記的時候才不會影響思考。如果你打字速度不夠,建議你先練個功



此圖為Memento電影宣傳照

2013年4月20日 星期六

關於Big Data

這兩天看到兩位學長們寫的,關於Big Data的好文,貼在最這邊分享給大家

翟本喬學長寫的「IoT 和 Big Data 商機的迷思」
https://www.facebook.com/notes/ben-jai/iot-%E5%92%8C-big-data-%E5%95%86%E6%A9%9F%E7%9A%84%E8%BF%B7%E6%80%9D/10151577263144113

洪士灝學長寫的
「Big Data技術是台灣的未來?是有機會的,但是不要編神話好嗎?」

http://hungsh-ntucsie.blogspot.tw/2013/04/big-data.html
「什麼是Big Data研究」
http://hungsh-ntucsie.blogspot.tw/2013/04/big-data_18.html


我自己也想發表點簡單的意見,我才疏學淺,見識遠不及學長們,只是說說自己的經驗和想法

我接觸Big Data是在Facebook加入第一個組:Data Infrastructure的時候,在這個組我做的是Hadoop的開發,我是Facebook早期從事Hadoop開發的人員之一,Facebook有兩個重要的Hadoop項目:HDFS-RAID和Corona我都有參與,寫了不少的程式(見註一)。我也是第一個Facebook自己培養出來的Hadoop Committer(見註二),也實際操作過數千台的Hadoop機群

我現在沒有在從事Hadoop本身開發了,但是現在在的Search Team使用Hadoop來建立索引,是Hadoop的上層重度使用者。總之我對Big Data是有一些背景的,從底層怎麼實作、管理到最上層如何使用都有一些了解

什麼是Big Data?我想簡單的說就是資料太大,大到一台機器沒辦法放下,要用幾十、甚至幾千台電腦來放,資料放在分散的機器上面,計算和儲存上面跟以前非常不同,所以有很多新的技術問題。Hadoop只是其中一個處理Big Data的軟體,還有很多其他的軟體,只是Hadoop是免費的開放程式碼,又有Yahoo、Facebook、Twitter、Netflix這些大公司在使用、支援,所以非常流行。才會讓大家有一個印象認為Big Data就是Hadoop

我覺得Big Data這幾年會變這麼紅,我想主要是因為分散式系統有很多有趣的問題,所以學術界非常喜愛,因為可以出很多paper。另一個因素是Internet巨頭們的掘起,Internet巨頭們都是Big Data的使用者,大家對Internet巨頭的關注也捧紅了Big Data這個詞

Internet公司有非常非常多的資料,因為網站可以不停的收集資料,使用資料來改善產品。資料對Internet巨頭們來說是非常重要的資產,網路應用跟傳統應用軟體一個很大不同的地方就是網路應用可以即時收集使用者資料,使用它來分析進而做出改進,而且網站能在很短時間內把這些改進佈署更新,這些是傳統單機軟體沒辦法做到的事情。除了Internet巨頭之外,其他可能會收集很多資料的公司,例如物流巨頭Walmart,也有Big Data的需求

美國有不少Big Data Solution的公司,特別是有很多新創公司。比較大間的是Hortonworks和Cloudera這兩間,Hortonworks是Yahoo的spin-off裡面的人都是原來Hadoop的開發人員,Cloudera則是有Hadoop的Founder坐鎮,我以前做Hadoop的時候和這兩家公司的人都有一些接觸,這兩家公司裡面的人都非常強,工程師的素質不亞於Google、Facebook這些名門大派。這兩家公司賺錢的主要方法,是賣Hadoop週邊的管理、監控軟體、維修服務,還有賣Hadoop的訓練和認證。我還有看到一些新創公司,則是賣Hadoop上層的工具,像是Hive或是更上層business logic的軟體

巨頭公司們都有自己養很多做Hadoop的小兵,所以不會用到這幾家公司的Solution。會用到他們東西的,都是一些中型的公司,或是不擅長軟體的公司。再來很小的公司也用不到這些東西,小公司沒有那麼多的資料需要放到分散式系統

另一種賺錢的方法就是提供平台租用的服務,這方面最成功的就是Amazon,你可以在Amazon AWS上面存很多資料然後跑Hadoop,這樣就不用自己養很多機器。我自己沒有實際用過,不過我猜想這應該是你已經把網路服務放在AWS上面才會好用(像是Netflix、Dropbox等等公司),不然你還要另外把自己的資料上傳到AWS上面才行

台灣要怎麼在Big Data上賺錢?

台灣強項是硬體,但近年來大家了解硬體比較不容易賺錢。我想不好賺的原因主要在沒有差異性:如果我賣一個記憶體跟你賣一個記憶體,都長得一模一樣,就沒什麼好比了,只好比價錢,只比價錢的結果就變成一個完全競爭的市場,最後沒有利潤可賺。一般而言,愈低層的東西就愈沒有差異性,愈不好賺,尤其是那些照著標準做出來的東西,幾乎沒有差異性可言

台灣如果想在Big Data上賺錢,應該想辦法去做軟體或是服務。台灣有硬體上的優勢,我猜比較有可能做的就是仗著這方面的優勢去做平台服務或是做一些週邊軟體跟硬體一起賣(當然前題是要做到真正好用,不要做得像有些筆電裡面預裝的爛軟體)增加硬體的附加價值,也順便培養自己軟體的實力。不過我要強調這只是我天真的想法,事實上我對這方面的了解非常淺,我只是一個工人

不知不覺寫這麼長,我自己快累死了,如果你能看到這裡都沒跳,我給你一個讚


註一:
http://pinky-monkey.blogspot.com/2012/11/blog-post.html

註二:
http://pinky-monkey.blogspot.com/2010/09/hadoop-committer.html

(此圖為Hadoop Logo)

2013年4月13日 星期六

Facebook粉絲團

我剛才建了一個Facebook粉絲團:https://www.facebook.com/productiveguy
如果你喜歡我的文章,去這個粉絲團按讚,之後我寫的文章就會自動出現在你的Facebook裡

現在很少人會想到要點開一個Blog來看了,RSS這種東西也只有很少數的人會用,我想大部分的人都是看Facebook的新聞。為了順應潮流,(而且我怎麼能不用自己公司的超棒產品呢?)我決定開了一個Facebook粉絲團,以後應該會把文章同時貼在兩個地方

我這幾天有認真考慮要不要好好經營這個Blog,讓它有多點讀者。我想過這樣做有什麼好處,我又不賺廣告費,我也沒法從中得到什麼實質的經濟回饋。而且還冒著拋頭露面,被人批評的風險。我的網誌是從MSN Space一路過來的,以前是寫給朋友同學看的,所以我用的是真名,而且讀者甚至知道我什麼學校畢業,在那邊上班。這樣把自己的生活暴露在外面,其實有點可怕

不過我也很想把自己一些想法分享給大家,想成為一位對輿論有正面影響的知識份子。我自知學養見識都還很淺,不敢說我寫的東西就多了不得。我只是希望只是在我經驗範圍,我比較了解的事物,能跟大家分享交流。在網路上寫作,對我而言也是一個刺激自己成長的方式。而寫給大家看,得到別人肯定,的確一件很令人滿足的事情

不過我很忙,不知道這個熱忱會持續多久。之前大女兒出生之後,網誌大概快一年沒有寫。我希望我之後能規律地在這分享一些有用的東西

好了,快去按讚了

順便分享這個link叫你朋友通通按讚吧!

八年的網誌

這兩天因為受訪的關係,我的Blog流量爆增,因為知道會有很多人來看,昨天把我的Blog從以前到現在看了一遍。想說清理一下,看看有沒有什麼不適當的內容:P,有的話要趕快移除

我從2005年開始在MSN Space上寫文章(到現在MSN都倒了,天啊),2007年移到Blogger,到現在已經將近八年了。一路看我著自己寫的文章,不只主題改變了很多了,寫的風格也差很多,一開始都是寫給MSN上的朋友看的,風格很搞笑,笑這個罵那個的,現在看還是覺得自己好好笑,而且裡面很多自己私人生活圈的瑣事。後來移到Blogger之後,因為開始很多陌生人來看了,就變得比較一板一眼。到後來2009年上班之後,要顧慮的事更多了,內容簡直嚴肅到爆炸,想聊公司的事,又怕到時候不小心洩漏個什麼祕密被開除。我自己也變得很不喜歡寫,每次想寫什麼,打沒幾個字就刪刪刪,想說這寫這個不妥,有很多人會看,必須寫得面面俱到,真的很難寫,像便祕一樣,跟以前那種想寫什麼就寫什麼的風格很不一樣

昨天看的時候,剛好跟我一位Caltech學弟在聊天,貼了很多篇以前的文章給他看,我們都覺得以前在Caltech的時光好快樂。這學弟跟我非常有緣,是我建中、台大、Caltech的學弟,後來又被我拉來Facebook,現在在Facebook則是我的組員,學經歷和我一模一樣(題外話,我覺得天下雜誌才應該要去訪問他才對,他以前還得過IMO數學銀牌,而且是Caltech Charles Wilts Prize2012年得主,是正港的資優生,應該比我更有話題性,不然啇周來訪問一下他好了)。所以我們有很多共同的記憶,他也是我排名第二的好朋友

我們有時候在公司的時候會覺得讀了PhD很不值,因為花了五年,然後PhD的那些技能(讀paper、寫paper)在公司裡面用處不是很明顯,公司裡很多大學畢業就出來撈錢的人,幾年後就賺比PhD畢業還多錢了。但是昨天看那些的文章的時候,覺得PhD的日子很好,有很多空閒時間探索人生。不像現在時間都被工作塞滿,然後剩下來的時間也都在想買房子、買那一支股票之類的俗事。其實讀PhD對我的人生而言,還是很值得的一件事。我也很慶幸以前有留下這些網誌,因為這些東西現在想寫也寫不出來了

好吧,現在要回到這文章的主題了,要來回顧一些老文章

認真的老翁,很廢的我:2006年,剛剛說的學弟剛加入我們實驗室的時候寫的

我老婆Amy:2005年,我老婆昨天說「好羨幕哦,你都可以出名」,現在讓她出名一下

高三的效率:2005年,適合學生看的勵志文

動手男以仁:2005年,講Caltech一位學長,目前單身,開放報名

機器人牛哥:2005年,Caltech另一個學長,現台大電機教授

人生的急轉彎:我的出國之路:2005年,講我為什麼會到美國

我的打工史II:寫程式篇:2005年,我1999年就在寫PHP了,屌吧

愈是長大愈無聊:2005年,自己現在看覺得好好笑

我的軍旅生涯回顧:簿冊:2005年,我04年退伍,當兵的笑話永遠講不完

我,歐吉桑化的已婚男人:2005年,我超遜,但是我好好笑哦

牛仔褲的痛:2008年,對比上一篇,很有趣

文化、朋友、歸屬感:2007年,住在異地的一些感想

下一站:Facebook:2009年,找工作的經過

出社會的感言:2010年,嚴肅認真文

上班以來做過的事:2012年,嚴肅認真文







2013年4月12日 星期五

天下雜誌的訪問


今天好多人分享我被天下雜誌訪問的文章,我的newsfeed完全被淹沒了。我想是本人出來面對的時候了。記者是我大學同學的老婆,來採訪的時候,並不是要以我為主題,主題是關於台灣和美國的產業鏈,我只是這個主題的一個採訪後記,畢竟我只是一個小小的美國台勞。

關於這個訪問,我有一些想法,還有一些想解釋的:

一、我來美國工作確實是一連串意外造成的

我想每個人的人生大概都是這樣,一件小小的事情就可能完全改變人生的走向。如果當初不是遇到馮世邁,最後我一定不會到美國。如果不是遇到不景氣,我也不會進Facebook。不過除了運氣,我要自誇一下,我確實很努力:進Caltech很不容易,進Facebook也是一件很不容易的事,並不是說景氣不好,我「剛好」就進了Facebook,其實面試非常不容易。我的同事們都是非常優秀的人,能跟這組人工作我覺得很幸運,從他們身上我學到很多。在公司裡面我也一路遇到很多貴人,之前組裡的tech lead,教會我很多事情,還有我現在的老闆,給我很多機會展現身手。我除了感謝上帝的安排,也感謝這些一路上幫我教我的人

二、我無意批評台灣的工作環境

文章很大篇幅說台灣的待遇不佳,工作環境不好。我要強調我本人沒有這樣的想法。另外在何處工作本來就是個人選擇,在美國工作沒有比較高等。我其實很不喜歡人家強調地域,像是「矽谷」怎樣怎樣的、「紐約」怎樣怎樣,感覺待在那些地方就有什麼了不起一樣,其實沒有,不過也是地球上一個地方。會留在美國,只是我和我老婆面對各種因素的一項選擇,我們做這樣選擇的時候,其實也失去了很多東西。其實在那邊都很好,只要能安身立命,日子過得開心,都是一樣

三、台灣的工資待遇

全世界的資方都是一樣,給錢只要給到他想要的人才不會跳槽就可以了,再多給就是浪費。為什麼Google要給員工這麼多錢,因為他如果少給,人就跑去Facebook。事實就是台灣的企業只要給這樣的錢,就可以留住他想用的人。價格就是由供需決定的,並不是說資方「故意」要少給錢。就好比你去市場買菜,一把蔥十元就能買到的,你不會想出二十元。我覺得這件事情的重點並不是勞資對立,而是台灣的產業發展到了瓶頸,原本大賺的電子製造業出現衰退,導致薪資跟著衰退。怎麼找新的出路才應該是討論的重點

四、關於熱情

文章很大部分講熱情,我覺得這很重要。不過我想強調務實也很重要,其實我PhD學的是信號處理,我過去的熱情是信號處理,但是如果我畢業的時候堅持我一定就要做這個,找不到工作也要堅持下去,我猜想我今天日子應該不會太開心。過去我天天想破頭的信號處理,我現在完全放棄了,畢業後一點也沒用到了。我覺得工作除了看自己的喜好、能力,也要看看市場需求。我覺得賣不掉的東西,再有熱情、有創意也沒有用


天下雜誌的文章:
http://www.cw.com.tw/article/article.action?id=5048390




2013年2月27日 星期三

寫程式是一種超能力



昨天在Facebook上很多人分享這個「大部分學校都沒教的」影片,是由一個網站code.org拍的,找來柯林頓、比爾蓋茲、Mark Zuckburg等等一堆名人強調編寫程式的重要性。上這個網站登錄了一下,它是推廣寫程式教育的non-profit網站。我覺得這件事蠻有意義的,現在很多人還不懂寫程式在這個時代的的真正意義,寫程式這項技術其實比一般人想像中重要得多

電腦結合連結全球的網路,電腦不斷增強的計算能力和不斷下跌的價格,加上網路連結速度愈來愈快,一個人寫的程式可以瞬間成為全世界人使用的工具。網路上的內容,經過近二十年的累積,加上過去的文件也幾乎全部數位化,讓全世界的知識都存在網路上,經過適當的處理、建立索引,讓網路成為一個全知的智者,所有人類知識能回答的問題,幾乎全能在此找出答案。這樣的環境使得寫程式成為現代非常重要的能力

寫程式就是控制電腦照你的心意去做事的能力。我想會寫程式和不會寫程式的差別,就如同石器時代會用石器的人和不會用石器的人的差別。還有文字和紙發明後,會讀寫文字和不會讀寫文字的人的差別。學會控制電腦的能力,在這個時代的優勢非比尋常

影片中讓我印象深刻的是有一個人說coding是最接近超能力的一種能力。我想寫軟體之所以很像超能力,是在於它的可擴展性,石器時代的人就算再會用石器,他能做到的可能只是提升到三、五倍的生產力,但是現今軟體可以跑在網路上千百萬台計算設備上,你寫一個應用在AWS上、在Google App Engine上、在IOS上、在Android上,就能跑在千百萬台資料中心的伺服器,或是跑在幾百萬人的手機上面,這種近乎無限的擴展性,讓個人能發揮出超級英雄般的影響力。一個人寫了一個APP,在APP store上如果百萬人去下載,使用它,就能改善百萬人的生活,生產力可以到千倍萬倍,這就是超能力

軟體還有一個特性就是它是能夠一個人從頭到尾(end to end)全部做完的,因為現在有AWS、Heroku、Google App Engine這些平台,你只要有idea,有執行力,就能獨力完成一個有用的東西。如果是硬體,你得做晶片設計、得有半導體廠、有人幫你做機械設計、還有富士康大軍幫你製造。做軟體,只要一個人就可以做出來

以前在台灣高中以前不教程式(我已經很多年不在台灣生活了,不知道現在情況如何),一直到大學才有計算機概論這種課,但是也不很強調寫程式,只寫幾個很簡單的作業,頂多幾十行的code。當時感覺台灣的教授並不熱衷這些東西,台灣的教授大多一輩子待在學校,就發表論文、做研究而言,程式的技能並不重要,所以理所當然他們並不重視。出國之後,就我個人的觀察,我覺得台灣學生普遍程式能力低落,尤其是跟大陸學生和東歐學生比,差距非常大。我想另外的原因是台灣的強項是電子製造業,好的人才大部分去做晶片設計、半導體製造,較少人做軟體

如果你想自我充實程式能力,我有幾個建議

1. 線上課程
網路上很多教程式、計算機的課程,都教得非常棒。較理論學術的,像是courseramit opencourse,比較實際應用的像是w3schoolscodecademy。如果你知道還有什麼很好的課程,也跟我講一下,我也想知道

2. 線上競賽
這類網站上有很多題目,你寫程式去滿足題目的輸入輸出,上傳程式後網站會跟你說有沒有做出來,我覺得這是很棒的練習,玩起來像電動般好玩。最有名的是topcoder,很多大公司HR專門鎖定topcoder裡的高手,我組裡的一個捷克小弟就是這樣錄取的,直接從捷克錄取來

3. open source專案
參加open source的開發,這一點比較難做到。但是你至少可以把open source project下載,自己build、跑跑unit test看看,unit test是學習程式的好方法,你先學會跑test之後,就可以改東改西,跑跑test看看有什麼不同。再下一步是去找到專案的bug tracking page,這些是使用者回報的bug,open source上的人會想辦法解決這些bug,通常他們會很歡迎有人來幫忙,你可以找個簡單的trivial的bug看能不能解決它。參加開源專案是你學習大型程式的機會。你在線上競賽、或是上課裡學到的東西都是像玩具一樣的小程式,真正的大型專案是非常不一樣的。想找open source project,可以去Apache Software Foundation找找,裡面有很多有名的project像是httpd和Hadoop

4. 學習script、editor、version control等等周邊工具
對bash、awk、grep、sed等等工具要有些基本的了解,才能快速處理檔案。至少要精通一個好的editor,例如vim或是emacs,這類editor用到出神入化時就如同用意志直接控制游標,看code、改code、找code十分快速。最後要會用版本控制,像是git、svn這類東西,這是軟體開發不可缺的工具


2013年2月10日 星期日

練打字的好地方

打字對我來說是個重要的技能,是人和電腦通訊的物理層,打字速度就是人腦對電腦的上傳頻寬

我每天的工作很大一部分是對電腦輸入我腦中的東西,當然這打字速度並不是工作速度的瓶頸,不然我就會坐在那邊整天不停的打字。但是夠快的打字速度能讓我和電腦快速地來回溝通,腦中的想法也能更流暢地實現出來。我看同事之間,生產力高的人多半打字很快,也有少數例外,例如我之前的組有個同事只用一根手指打字,但他很強

我打字並不算非常快,但是應該有中上水準,中英打大致都在每分鐘80字左右,我最近想要再提升一些,所以找了幾個網站練習,這些網站有的非常好玩,會上癮,就來推薦一下


Type Racer
這個應該是最有名,也最好玩的,跟其他人拚速度,每個人會化身成一台車,看誰先衝到終點,很多高手,競爭之下很快會進步,裡面打的文章也很有意思,都是一些書、電影、歌詞裡面的佳句,打的時候可以順便讀一讀有趣的好文

網站也有支援中打的練習,但是文章就是英打的文章用電腦翻譯的,變成很古怪的文字,而且對無蝦米的支援不是很好,在打字中間的時候會一直顯示錯字,有點傷眼

最有趣的是這個coding的打字競賽,程式師平常打的字跟平常的文章很不一樣,很多(#&*這些符號,這邊讓你可以練習到這類的字。我覺得練這個應該對寫程式的打字很有幫助,打字練習的內容是一些open source project,像是Linux kernal、Apache Tomcat。不過它的缺點就是排版很怪,沒有換行,而且裡面的內容不多,很快就會一直打重複的東西,有點無聊


Typing.io
讓你照著打open source project,排版比Type Racer的好,內容也豐富很多,而且一次打一大段,可以大概看到code在做什麼,也可以順便讀一下人家open source的程式是怎麼寫的。缺點是沒有別人可以對戰,只能自己一個人孤單的打字,沒有競爭的快感。不過我還是很推薦這個


Typing Maniac
Facebook上的打字遊戲,除了打字還有一些「放絕招」的遊戲元素,很容易上癮的遊戲。不過他的字都是從上面一直掉下來,很傷眼,不適合老人,我玩個一天就沒再玩了


如果你還不能盲打(打字不用看鍵盤),我建議你一定一定要先學會這個技能,因為你可能接下來幾十年都可能還得用這個方式和電腦溝通,這是非常值得投資的一項技能,我實在不能忍受有人整天打字卻還一天到晚要低頭找鍵,隨手上網查了這個站可以教你touch typing的
花個幾小時學一下,可以一生受用

最近一位強者同事送了我一個二手的Happy Hacking Keyboard,軟體工人贈鍵盤就有如劍客贈劍,得到他的鍵盤我覺得很榮幸,希望能像他一樣強。不過我用一用很不習慣,主要是「`」鍵移到右手邊,讓我在mac上沒辦法切換視窗,而且我是用vim不像他用emacs,我對ctrl鍵不是很依賴。所以我自己去買了另一個正常一點的機械鍵盤放在公司,打字卡啦卡啦的蠻爽的,不過希望不要被同事杜爛。在家裡就不敢用了,怕吵到小孩睡覺。拿到這鍵盤後看到上面寫Made in Taiwan,覺得很開心、賺到了。這不愧是台灣做的,品質非常好



2013年1月21日 星期一

evernote好用

最近很愛用evernote,只要腦子裡有什麼有趣、有用的想法、或是計畫要做的事情,就會打開evernote來記,現在一天平均大約會記十則的小筆記,用了evernote對我的生活有很大的改善

evernote是一個筆記軟體,會把你寫的筆記存在遠端,它存在有各種介面,有windows、有mac、有web、有ios、有android,基本上就是一個記事本,但你寫的東西會存在遠端,你換電腦後或是用手機的時候,這些筆記會同步到別的地方去

之前我覺得用gmail寄信給自己就可以了,何必再多一個地方放東西,很早以前曾經寫過一篇關於用gmail寫日記的文章,我用gmail寫日記已經行之有年了,累積了很多珍貴的想法和回憶 ,現在我用gmail搜尋日記可以快速找到過去幾年發生過的事情

不過evernote把這些提升到另一個境界,因為它介面好而且快。gmail是個email系統,不是為了給自己寫筆記而生,但evernote的介面就是為了做這件事而做的,不但可以快速的記事,搜尋和瀏覽也做得更好,還有各種方便的shortcuts,還有很多功能像是合併筆記,這些都是gmail裡辦不到的

evernote和gmail有一個根本的不同:就是evernote可以修改過去的筆記,用gmail就不行,一寄出去就不能改。所以這兩者的使用方式非常不同。用gmail我只是寫一篇文章,然後寄給自己,之後就處於一種唯讀的狀態。用evernote的時候,我常開了一個標題,過幾天有了新的資訊就一直修改、加入新的內容,讓我可以在同一個主題上長時間一直演進

寫筆記對我來說是一個思考的過程,想法打出文字後再讀入腦子裡反饋,這個迴路會讓想法一直修正改進,人腦無法同時記下很多事,但配合鍵盤和電腦成為思考工具就能,我想這就像人使用計算紙比心算能計算更複雜的東西是一樣的道理。所以能快速寫下想法是件很重要的事情。用evernote讓這些想法可以長時間一直跟著我到我的工作的電腦、家裡的電腦、手機、平板電腦,讓我能隨手可得

(題外話:這幾年用電腦寫日記的想法是,用電腦寫比手寫強多了,因為打字速度真的比寫字快太多了,速度快了,腦->手->眼->腦的這個迴路就更快,使得用文字思考的效率提升。)

另一個用evernote的好處是排除壓力,把一件不得不做的棘手事情寫到evernote裡面後,就可以先把事情先忘了,不用在腦裡一直想同一件事折磨自己。會有種安心的感覺:覺得未來的我會回去看這些note,然後把事情完成。現在的我可以專注於現在,就把它安心的交給未來的我

因為我的日記一直放在gmail裡面,我還是想保有它的連貫性。但我也想把它們放到evernote,所以我在gmail裡設了一個filter,讓自己寄給自己的東西就會被轉存evernote裡。基本上evernote有一個對應的信箱,只要寄到這信箱就會存到evernote,只要在gmail裡設定filter去寄給這個信箱就行了。

具體步驟如下
一、到evernote.com登入 -> 設定 -> 帳戶摘要 -> 記事電郵收件人(這就是evernote的email地址)
二、到gmail登入 -> 設定 -> filters -> 新增filter -> 把自己寄給自己的信forward到evernote

\


2013年1月19日 星期六

我的健身設備

現在我幾乎都在家裡訓練,因為比較方便又省時間。加上現在天氣變很冷,所以最近都不在外面跑步,我超怕冷。今天我要來介紹我家裡的健身設備

前院

現在比較少在前院訓練,因為很冷,但天氣好的時候在前院訓練真的是很不錯,因為空氣比較好。單槓是我自己鎖上去的,因為我的電鑽很爛,鑽的時候手痠死了,不過裝完後非常穩,在上面搖來搖去也不會有任何鬆動的感覺。單槓很高,要跳上去才抓得到

我在這常做的一個訓練:
「蹲伏起立引體向上」* 100
就是一個蹲伏起立後跳上去拉單槓,做一百個


車庫

我超愛車庫,之前的人生中一直住在公寓裡面,以前沒有住過有車庫的房子。直到去年買房子後,才知道車庫的好,可以放東西,可以運動,可以在裡面修理東西、搞東搞西的 (還可以創業)。我最近都是在車庫訓練

車庫有個裝在天花板的單槓,也很穩,不過沒有前院的那麼高,這個伸手就能摸到


可調式啞鈴是我買過最貴的器材,記得好像花了接近四百塊,底座一百五十塊還要另外買,長椅可以拿來做臥推,以前還沒買跳台的時候也拿它來當跳台用


Parallettes查中文翻譯查不到,我是拿它來做倒立伏地挺身,這樣可以加大活動範圍。槓鈴我拿來做挺舉,就是把槓鈴從地上拿到頭頂,雖然不重但活動範圍很大,做一百個也是會累死人的。這東西很便宜,Amazon加上運費才50塊


這個現在很少用了,因為單槓加上吊環也可以做dip

我買了這麼多東西,如果有人問什麼東西最值得買,我覺得是單槓,其他東西都可以不用。練胸肩、三頭肌就做伏地挺身,嫌不操的夠就做單手伏地挺身,跳躍伏地挺身,倒立伏地挺身。練下盤就做蹲站、蹲跳、單腿蹲站、單腿蹲跳。只有背部,沒有設備很難練到背,我想不出什麼方法可以徒手練到背。拉單槓對強化背部很有效

再來第二個值得買的就是跳繩,因為很便宜又不佔位,練雙迴旋跳繩非常有效


2013年1月12日 星期六

畢業後的第一篇paper

最近我們跟USC的研究人員合發了一篇Paper
http://smahesh.com/HadoopUSC/
講的是一種用在分散儲存系統的糾錯碼

我來用白話介紹一下,不過會有點長,要有耐心跟好奇心的小朋友才可以看下去哦。(之前在另一篇<上班以來做過的事>有簡單介紹過一點點)

分散儲存系統就像是現在很流行的詞「雲端」,可以把大量的內容存到這系統裡,這系統裡面的構成是上千上萬台電腦,最終會把你在客戶端的內容存到系統中某台電腦的某個硬碟上,這樣的系統存在相當多複雜的問題,像是怎麼分配那個檔案存在那台機器,怎麼讓很多人會同時讀寫

其中一個困難的問題就是:在機器故障的時候,怎麼讓系統還能正常工作

為什麼機器故障這麼重要,如果你家裡一台電腦一年才壞一次,照這速率,Data center裡的幾千台電腦,每天都會壞掉幾十台


上圖取自paper,顯示在Facebook一個3000台機器的機群裡,每天故障機器的數目。如果說我們對故障不做任何處理,讀寫就會失敗,還有可能會永久失去資料

一般的做法把資料分成小塊,每個小塊都存三個副本,這樣子如果有一個副本壞了,可以去讀其他兩個副本,而且在這時候要快點再多複製一個副本,以保持副本數為三,這方法可以抵抗兩台機器同時故障,但三台就不能保證,這方法的缺點就是三個副本會讓成本變三倍

我們在Facebook做了一個Project叫做HDFS-RAID。不同於三個副本的方法,我們用的是一份原來的副本,再加上一些糾錯碼(Error Correcting Code)。糾錯碼在通訊領域是已經非常成熟的技術,在DVD、WIFI、3G,有通訊的地方就有這技術。你想想看DVD為什麼常常刮得亂七八糟還是能看,就是歸功於這個技術

這個方法的好處有兩個,第一就是空間變小很多,因為加上的糾錯碼只有副本的0.4倍大,原本變大三倍的資料變得只有1.4倍,第二就是容錯能力變強,原本可以抵抗兩個錯誤,現在可以抵抗四個錯誤,也就是能在四台機器同時故障的情況下讀取

因為我的背景是無線通訊,做這件工作讓我學以致用,非常開心。在一次Hackathon裡我就寫好了ReedSolomon(某種糾錯碼)的encoder/decoder,之後又用了以前學過的矩陣計算的方法讓它加快許多,現在這些Code都已經上線跑了很久,節省了很多儲存成本,為公司省下了可觀的金錢

但是這方法有一個缺點,就是修復的時候,要讀取十個不同的副本才有辦法修復一個副本,也就是說修復的成本增加了十倍,在我們的系統中讀取是硬碟的讀取,是一個重要的資源,而且修復時間短是很重要的,因為沒修複之前如果有更多機器故障,就有可能失去資料。在一般通訊中的用的糾錯碼(像DVD、3G用的),通常讀取是沒有成本的(這些資訊通常已存在電路的暫存之中),所以這種問題和通訊的問題是很不同的

跟我們合作的USC教授學生們想出了一個新的糾錯碼可以降低讀取的成本,並且跟我們一起測試這些糾錯碼的好壞,我本來覺得這些學information theory的人應該是眼高手低,但是他們很快看懂code而且自己改了很多東西,讓我很驚訝,而且這個教授對實務的問題很有興趣,他一直說他想解決真正的問題,他的理論也很強,讓我很佩服,我覺得做研究就應該做到像這樣才有意義

不過這個Project已經是一年多前的了,學術界的速度龜慢,一年前做的東西到現在才發表,我早已經換到不同的組,做完全不同的事了

Paper和source code可在此下載


2013年1月4日 星期五

Pomodoro專心法


最近習得了一個增加工作效率的方法,覺得有效,來分享一下

最近我覺得上班變得很沒效率,很難專心,常常到處看看,讀信或看Facebook,或看股票、看特價網站或用訊息聊天,尤其遇到比較棘手的工作,就會這邊摸摸那邊拖拖

幾年前曾經讀過一本講克服拖延的書叫做<Now Habit>,還在這裡寫了心得,我重讀了這本書,希望能提升一下效率,書裡面有個重要的觀念就是以「專注的半小時」為工作單位,重讀完之後我就想找個計時的app來用,在找app的時候找到了一個關鍵字叫,「Pomodoro Technique」

Pomodoro Technique是一種時間管理的方法,跟<<Now Habit>>類似,非常簡單,基本上就是先跟自己宣告,說我接下來的半小時就是要做某件工作,例如:找某個Bug,寫某個Feature,寫篇Blog,做投影片,再來就按下半小時的計時器,在這段時間內,除了這件事之外,不能做別的事,例如不能上網看個股票,回個Facebook message之類的,如果想到有什麼重要的事,就寫在一張紙上,然後馬上回到這件事情上面,如果真的不得已被打斷的話,就要重新計時,直到計時完成半小時,就是「完成了一個Pomodoro」

我覺得這方法的好處就是能真正的專心,因為中間如果分心了這半小時就不能算,所以到最後只有專心的時間會記錄下來,如果一天完成了四次,就是完完整整的二小時的專注時間,二小時完全專注可以做很可觀的事,比東摸西摸八小時來得強多了

通常我完成幾個Pomodoro後,會給馬上自己一些獎勵,看看特價網站之類的,給自己心理上建立一個正回饋

除了專注半小時之外,這個方法還強調一個短時間的休息,專注半小時之後休息五分鐘再開始下一次,然後連續做完幾回

用這個方式工作之後,工作的單位就可以用Pomodoro的數量來計,例如可以規定自己一天要完成幾個Pomodoro,也可以記錄自己一週每天各完成幾個Pomodoro,這樣可以追蹤自己的工作效率

這裡有幾個Pomodoro apps可以試,有的可以幫你記錄一天完成幾次,不過我最後用的是這一個

名字的來由,Pomodoro是義大利文的蕃苆,因為料理計時器常設計成蕃苆的樣子,所以以Pomodoro來當作Timer的意思,叫「Timer Technique」聽起來太遜,所以找個延伸義的外來語Pomodoro,一時之間聽不懂就能嚇嚇人,感覺就比較強大




PS. 本篇文章,就是我用一個Pomodoro寫出來的

Update: Web版的Pomodoro TImer: http://tomatoi.st