2011年8月31日 星期三

工作就像男女交往一般的變幻莫測

在下班回家的途中剛好有此一聯想:工作就像交女(男)朋友一樣。(以下全是隱喻,腦婆大人別興師問罪,我愛你 <3)

2011年8月4日 星期四

來介紹幾個剛找到的iOS免費軟體

時間不多,所以廢話也不多說了。

JSON Designer By Cribster

可以幫忙你用圖形化界面設計JSON的結構產生出來的東西像這樣:









{
 "name" : null
 "Generator" : [
   {
     "currentEfficiency" : null,
     "efficiencyHistory" : [
       null
     ]
   }
 ]
}

2011年7月14日 星期四

StudioIrregular

繼"Razorcap Studios"後又一夥伴Michael Wang推出了他個人的StudioIrregular。(一段時間了 :P)

裡面分享了許多“個體戶”的一些想法與經驗,很值得去參觀或給與鼓勵甚至意見或建議,相信他會很開心的。

2011年5月6日 星期五

Git 遠端備份

不知道大家都使用哪種 source version control,我自己本身常用 git, 雖然 git 功能強大,但我卻發現要找一個簡單的遠端備份方案還真不容易。熟悉 git 的人一定會問我為什麼需要遠端備份,是這樣的...

Git 所謂的分散式是在多人開發的情況下,如果你的成員分佈幅員廣大,理論上你不用再做備份了,即使你 local 遭遇像日本東北大地震那樣可怕的災難,只要還有別的地區的 member 電腦完好如初,一個 (或幾個) 簡單的 'git pull' command 就可以幫你恢復完整的 file/log/...

但考慮以下狀況:

  1. 開發者只有我一個人.. (孤單的獨立工作室負責人!?)
  2. 開發者有粉多人,但都集中於同一個(地理)區域

以上情況我們還是需要把所有資料備份到遠端去以策安全。

但事情好像也不是簡單的把整個 folder TAR 起來丟上網就可以.. 這樣做可能有幾個問題:

  1. 要用這包 TAR 在新的機器上復原需要做些奇怪的事(主要是因為 git 內含 local 的資訊)
  2. 在你 TAR 的同時如果有人在 check-in code, 會有資料不完整的問題。
搞了半天,我終於弄清楚要如何遠端備份 git 啦:

  1. 切到你的 git folder
  2. 'git bundle create BACKUP.BUNDLE --all'
那個 BACKUP.BUNDLE 可以隨你高興命名,把這個產生出來的檔案備份到遠端 (我自己習慣用google doc, 因為它本身也有版本控制的機制,萬一遠端檔案也有問題,至少還有舊版BACKUP.BUNDLE可用)

萬一你發生不幸的意外 (我是指你的電腦),重建步驟如下:

  1. 把你藏在遠端的備份檔案找出來放進新的電腦中
  2. 'git clone BACKUP.BUNDLE new-folder'
  3. 'cd new-folder'
  4. 'git fetch'
  5. 'git pull'
就這樣,你就可以 (在一片廢墟中) 繼續你的軟體開發工作啦 (假設還有供電的話:D)

2011年3月23日 星期三

Smell good? [釋疑篇]

Compose Method [Beck, SBPP]

You can't rapidly understand a method's logic.

Transform the logic into a small number of intention-revealing steps at the same level of detail

以下 by [Kerievsky, Refactoring to Patterns]

Motivation:
這個 pattern 看起來很簡單, 好像每個 programmer 都應該這樣寫 code, 但是如果你仔細檢視一下自己寫的 code, 你會發現, 應該大部份的 code 都沒有做到這個 pattern 的要求. Compose Method 簡單來說, 就是 method 裡面 compose 其他的東西, 都必須要在同個 detail 等級之下(Mechanics 第五點).

2011年3月20日 星期日

Smell good?

最近為了國人的生活品質與身體健康, 義無返顧的投入了清潔大隊, 在經歷了尖山火池, 天崩地裂, 毒氣瀰漫, 輻射籠罩的考驗中, 能活著回來真的是菩薩保佑, 祖上積福~ 在身體還未被恐怖的碘, 鈽的放射性同位素給侵蝕殆盡前, 趕快將所見所聞來跟大家分享~

在此先端出德高望重的貝克大師[Beck Kent]的武林秘笈心法:

扛布絲埋圾袋 [Compose Method]

2011年1月18日 星期二

Why Pi?

很高興的發現今年Knuth教授的聖誕節課程居然有網路轉播:
http://stanford-online.stanford.edu/seminars/knuth/101206-knuth-500.asx

與大家分享這篇絕不是炫耀文,因為我完全跟不上上課的內容... 但是,
Knuth的課程講的是數學,去聽的卻大多是computer science的學生,是那種畢業後進Google或Apple的工程師,了解一下這些傢伙都在想什麼還滿有意思的。

今年講的內容,90%用到的數學,居然都是我們在台灣的高中生就學過的:
  • 排列組合:Cnr=n!/r!(n-r)!
  • 機率: 擲兩顆骰子出現12點的機率!?
  • 簡單的幾何: 圓的面積=πR2
  • 二項式係數: (x+y)n展開後的係數
Knuth每年都會在耶誕節前夕講一堂跟樹狀結構(tree)有關的課程,今年講的是:如果給你n個節點,你可以排出幾種不同的tree?假設這個數字為C(n),舉幾個例子:
  • C(1)=1
  • C(2)=2
  • C(3)=5
其中C(3)=5如右圖所示

三百年前就有人解出C(n)是一個與π有關的方程式,但一直到2007年才有人提出合理的解釋,說明為什麼樹狀結構的排列組合數量,會和圓形的π有關。

網路真是神奇的東西,我居然可以聽到史丹佛大學最頂尖的教授的課!

PS: 某人上課的筆記 http://apetresc.wordpress.com/2010/12/28/knuths-why-pi-talk-at-stanford-part-1/

2011年1月9日 星期日

跟著我動動你的右腦(其實也會動到左腦,甚至會死很多腦細胞 XD)


最近左腦用過度,來寫一篇文章來平衡一下。順便灌一下水
之前在看到iOS跟Android 都有Gesture相關的API就一直很想來分析一下這兩個設計。