發表文章

目前顯示的是 2013的文章

Clean files in iLifeAssetManagement

圖片
新的MBP是SSD硬碟,優點是快到不像話,缺點就是空間稍少。所以對於硬碟空間必須省著用,從來不會用的應用程式就砍掉、照片全放到Flickr上、A片全部搬到PC、backup的檔案就往google drive塞,反正能清的東西就儘量清,不過後來我發現有個資料夾在: /Users/wise/Library/Application Support/iLifeAssetManagement 吃了我十幾GB的空間,稍稍google了一下,原來iCloud的photo stream會存在這。清掉他的方法很簡單,關掉iCloud的Photos選項他就會自己清掉了。

再看北朝鮮

最近北朝鮮,在台灣我們習慣叫北韓很紅,北朝鮮可以說是近代亞洲最神秘的國家,尤其是站在台灣的角度來看。 現在看北韓很多行為我們會覺得很荒謬,比方說爸爸過世兒子繼位這種世襲制度,國家領導人過世要全國人民到街上哭喊,這種荒謬的行為對比照台灣,其實十幾二十年前也才發生過不久。 國家的進步以及民主化的推動其實相當不容易呀。 今天有很多中國人看北朝鮮很可笑,其實我們在台灣看薄熙來何嘗不是如此?不過台灣人也別太囂張,我們也有馬英九和王金平的九月政爭~ 哈。

What’s the difference between college-level and corporate programming?

原文: What’s the difference between college-level and corporate programming? 借這個標題來用,所以差異究竟在哪?差在經驗。 我想不用我再寫一次強調現實世界的不確定性之類的東西。我有感而發的是,最近發現對於軟體工程的認知其實稍有程度的工程師都差不多,問題只會出在對某種技術的偏好和熟悉度。 其實現代程式語言如果沒有平台的限制,基本上功能大同小異,就實作的方法略有不同,有些語言強調好開發、幾行簡單的code可以做很多事,有些語言強調功能完整,什麼事都能做。到頭來,所謂生產力就是著重在個人比較喜歡哪種語言,熟悉度的差異而已。就好像國語、台語都可以表達同樣的東西。 當然如果平台綁定當然是另當別論,比方說要寫iOS或Android的app,勢必得遵照Apple和Google的SDK去開發,諸如此類的。 總歸一句話,就是說到底其實沒有人真的比較厲害,你想到的別人大多也都想到了,也仍有很多你沒想到但是別人已經想到的。

哪裡人

我是哪裡人?如果是回答老外,就會說台灣人,如果是台灣人,就會回答高雄人。但是再更深入,我就很難回答了... 嚴格說來,最有家鄉情感的是高雄仁武,我在這個地方長大。國二以後就搬到高雄大寮,在那邊待了五六年,高中畢業就到新竹唸書,然後家也搬到高雄市,後來在新竹求學、工作整整待了十多年,現在在台北打拼。 所以問我是哪裡人?我會說我是高雄人,但是高雄哪裡?這就常常讓我很難回答...我應該想一個最完美的答案。

語錄(六)

「那個realtime的order怎麼monitor?」 「你可以寫OrderTemp就寄alert。」 「那OrderTemp寫不進去怎麼辦?」 「靠北喔!小姐我最近心情不好!」 ... 對不起.. XD

我的暑假作業

圖片
雖然最近忙翻了,被project跟一堆雜事壓到有點喘,不過還是要堅持有趣的東西 XD http://114.32.168.216/temperature/retrieve.html 最近透過 Raspberry Pi + Arduino + DHT11 +Python+ Parse + Google Chart 的溫度記錄表 :P 因為房間太熱還有跟Yihua聊天以後,想要跟他一樣做個溫度測量小工具,因為手邊有Pi,就順手用上了。一開始缺了溫度量測的晶片,跑遍光華買不到,只好乖乖在網路上買,一顆幾十塊錢。然後就開始構思該怎麼完成他。 首先,該怎麼把DHT11跟Pi結合?其實還有更方便資源更多的Arduino這個玩具可以用,和Pi不同,Arduino是一塊可程式化的單晶片板,在連接其他晶片上更方便,資源也很容易取得,簡單說就是很多範例程式可以抄。加上麵包板一塊,幾條線,就可以把Pi+Arduino+DHT11串起來了,整個時間大約20~30分鐘可完工(我是初學者中的初學者,應該不會超過這個時間)。 Pi+Arduino+DHT11 確定可以讀到溫濕度的數據以後,重頭戲開始,接下來在我腦袋中構思幾個步驟: 讀取資料,並且呈現在網頁上 所以我先做了這個來實驗是否可行:  http://114.32.168.216/temperature/ 因為Pi對我來說就是電腦,在上面裝apache這一卡車東西以後,就可以用了。 中間有遇到一個困難,因為serial port讀取數據是一個字一個字讀取,在讀取數據的過程中有點麻煩,溫濕度沒辦法同時讀出來,不過我有天送潘小姐回家後的路上突然靈光一閃,想到該怎麼處理,解掉這個問題 XD 找個地方存 在Developer的meeting上,Sean分享了Parse這個地方,是免費的雲端儲存空間,我就用上了。 所以我用Python寫個小程式,把資料送上Parse,用crontab定時呼叫這個小程式,定時把資料存到Parse 把資料餵給Google chart Google的這個API真的很方便,只要我把資料從Parse讀出來,兜成Google chart API要的格式就大功告成。 階段任務完成,這是Phase 1,總共只花了我大約... 三個晚上,接下來Phase...

男朋友威能

在一起前: 「你看,這是一百兆的辛巴威紙鈔耶!」 「喔...」 在一起後: 「我也有那一百兆的辛巴威紙鈔」 「真的嗎?!好酷!!我明天要看~~」 ... 嗯.. 當男朋友還是有點好處?

iTunes吃掉你的CPU

如果iTunes吃掉你太多CPU,整個慢到爆 Go to command Prompt type: netsh winsock reset It works for me.

Python小感想

about Python: 很優雅,很短的code可以做很多事,簡單說幫你把很多事給省了。 打個比方,我要開一個excel只要 open_workbook(filename) 要開web service只要 Client(url) 就做完了。 適合做工具,不適合作產品。 script language畢竟是script language。做小東西可以,做大東西會哭。 因為是script language,所以效能不好。 library決定一切。 因為open source,所以很多3rd party library可以選擇,但也很多夭折。 真的比不上已經維運以久的Java、.NET和C、C++。 沒有好的IDE。 因為不需要。因為東西不要做大,所以不需要fancy的IDE就可以做事,還比較愉快。 需要一點系統知識,要能讓python跑起來並且裝一堆library,可能對完全初學者有點難度。不像Visual Studio按下F5就讓你的code跑起來。 總結,拿來做一些雜事可以,拿來當做開發產品可能就有點風險;如果寫成job搭配crontab,或是做auto testing可能還蠻好用的。 如果要找書,這本 The Quick Python Book 應該是首選,幾乎沒幾本書有寫到Python 3,這本有說到很多我覺得有底子的programmer要跳到來寫Python需要知道的,比方說Python語言的習慣、命名規則、基本的哲學...等。

殘酷的現實

If a product breaks in the field, the first point of escalation is the developer who created the problem, not the tester who didn’t catch it. -- from How Google Tests Software 真是殘酷又真實的一句話 XD

Using enumeration for SVC service in C#

It takes me a whole day to try this... Using SVC service as web service and passing enumeration data type needs:  [DataContract], [EnumMember] and [ServiceKnownType(typeof(MyEnum))] ex. [DataContract] public enum ResultCode { [EnumMember] Success = 200, [EnumMember] System_Error = 500 } [OperationContract] [ServiceKnownType(typeof(ResultCode))] ActionResult<ResultCode> Process();

一個小習慣

我常常會自己寫一些小東西來完成routine的工作,不過當我腦袋裡評估我用手做完比我寫小東西更快的時候,就會快點用手做完。 現在覺得連DB寫資料真的很麻煩很討厭,我正在想有沒有什麼比較快的方法可以達到同樣的事。會不會是NoSQL呢?

幾種IDE的比較

試用過了一些IDE,這是小小的心得: Eclipse : 不用說,這是拼裝車入門款,一開始是IBM開發他,現在有廣大的使用者跟數都數不清的衍生產品,幾乎流行的語言他都有plugin可以用,可以拿他來寫各種東西。開發專案沒信心的話用他準沒錯,雖然用過很多IDE,但到最後往往都要回來用他。優點是可以寫很多東西,很多外掛。缺點是沒有現在IDE很多fancy的功能。 Netbeans : SUN的產物,可以私心的說是我最喜歡的IDE,Oracle把SUN買下以後一度前途不明,不過現在看起來還是相當熱絡,不會消失。也是有很多外掛可以用,幾乎可以做到Eclipse可以做到的所有事,只是相較之下沒有那麼受到大家歡迎。優點是優點是方便、好用,在opensource中最接近Visual Studio的產品。缺點是有些官方文件比較老舊。(不過有誰真得在乎呢?) IntelliJ IDEA : 最近有點小紅的IDE,有很fancy的界面和功能,支援很多新東西。在JavaScript的開發上比Eclipse和Netbeans都好。但是我個人不是很習慣,沒有真的拿來開發過專案,熟悉的人也相對比較少。優點是寫script language有他獨特方便之處。缺點是有分community和commercial的版本,community版本基本上就是閹割版,很不喜歡這種感覺。 JDeveloper : Oracle的JDeveloper基本上是個災難,除了之前使用Oracle SOA suite必須用JDeveloper來拉BPEL,我想不到任何理由用它。優點是可以拉BPEL for Oracle SOA suite。缺點是效能不好、 bug多、UI很恐怖,對很多技術框架的支援性也不足。 Visual Studio : 完成度最高的IDE,我覺得是世界上最好用的IDE,寫VC++、.NET framework的語言就是用他就對了,在微軟的世界裡面幾乎全都靠他,無所不能。優點是完成度高、界面好看優雅好用,該有的都有了。缺點是只能寫微軟開發的語言,寫出來的東西當然也只能在微軟的環境中執行(硬要在別的平台上執行也是可以啦,但是我相信沒人會這樣自己搞自己)。 Xcode : 寫Obj-C就是他,想在Mac上開發app的話,可以說是唯一選擇,很方便,但是也有些地方不盡人意,完成度跟整合...

巨人的殞落

Steve Jobs的離開對這個世界有多大的損失?看看這次的WWDC就知道了,也許世界再也不會出現改變我們生活的產品,ㄜ...至少不會再有人這麼有渲染力,讓平白無奇的東西也能改變這個世界。

語錄(五)

「你看C好像很委屈,我一定會幫她解決的!」 「我上次一天收GR幾百個error,你們都不裡我...」 <<過了五分鐘>>... 「理論上進order table的order表示處理完了吧?」 「哼!去問C啊!!!」 哈哈哈哈哈~~ XD

[Mule] Append a CRLF in payload

Append a new line (CRLF) in Mule: <expression-transformer expression="#[message.payload = message.payload + System.getProperty('line.separator')]" doc:name="Append CRLF"/>

鄉民治國

鄉民集體民粹,看到菲律賓就整天喊打,如果是日本呢?看到宗主國有沒有想下跪的慾望? 有朋友在FB上喊著要願意被徵召,要是反攻大陸你有沒有這麼積極? 有躲在美國的朋友喊打「菲傭」有什麼好怕的,幹...在美國那麼多年學到的不是民主、平等、自由,是歧視跟放他媽的屁,我應該把他刪除加封鎖。 幹,你他媽有繳過台灣的所得稅嗎?整天喊那麼大聲台灣應該怎樣,你他媽為台灣貢獻了什麼?最看不順眼的就是那些躲在國外,但整天屁放得很響,我倒是比較懷疑你娘的你有當過一天台灣兵嗎?去你他媽的王八蛋。

為什麼我愛棒球?

圖片
從小看棒球看到大,那時候只認識兩隊,中華白、中華藍。看球看到大,從日本電動開始喜歡西武獅,到中華職棒因味全龍解散而難過。我為何喜歡棒球? 棒球節奏跟其他運動相比比較慢,也因為了很多投手和打者、捕手之間在心理層面的交鋒,享受這種壓迫感,你很難不愛棒球。 圖是最近台灣很紅的Manny~  

聚餐

男人的聚餐是聊現況、工作甚至是國家景氣、政治意見分享閒聊。 女人是...抱怨男朋友 XD

Dynamic typing的一種哲學

我在意的不是這個物件的型別,而是我能對這個物件做什麼。 這是最常見的動態型別語言中的設計思維,也是最近很流行的各種dynamic typing的語言很重要的觀念。 最有名的duck typing: If it walks like a duck and talks like a duck, it may as well be a duck. 我有好一陣子很不喜歡動態型別的語言,大概因為我第一個接觸的語言是C,有嚴格且複雜又容易出錯的型別問題,所以寫程式把每個物件的型別宣告的清清楚楚,無論是早期的Java或C#,是我比較喜歡的語言。 但是受Ruby, Python甚至是突然找到第二春的JavaScript影響,Java和C#都紛紛引進dynamic typing的機制,並且很多強者都推薦,如果是local variable,盡量用dynamic typing,可以加快開發速度,並且把型別的轉換丟到runtime時讓平台本身決定,省去很多麻煩的型別轉換問題,和可能會轉換失敗的exception。 有道理。

Pale moon

Pale Moon 是以Firefox為基礎改的browser, 簡單說,他是最佳化的Firefox瀏覽器,有x86、x64的版本,執行的速度跟效能都相當不錯。(雖然Chrome很火,但是因為太火我不喜歡,還是當一下Firefox的用戶替他增加那一點點的佔有率 XD) 這是有關Pale  Moon在Wiki上的介紹 Pale Moon is a web browser based on Mozilla Firefox. It is available for Windows platforms and distributed by M.C. Straver. Pale Moon builds on Firefox, optimizing for efficiency of code and aimed at current and modern microprocessors. Pale Moon is available free of charge as open source code archive and freeware binary releases. Most of the available Firefox extensions and plugins are compatible with Pale Moon.  Screenshot: