高見龍

iOS app/Ruby/Rails Developer & Instructor, 喜愛非主流的新玩具 :)

分心 FanXin app

image

今年二月份剛好有機會到朋友的公司幫忙開發 iOS app:「分心 FanXin」。顧名思義,就是一個可以讓你一邊看電視,一邊分心地跟朋友聊劇情的 app。

下載網址:https://itunes.apple.com/tw/app/fanxin-fen-xin/id545965153?mt=8

但近期因為覺得我家的那兩隻小朋友在長大的速度變好快,覺得好像再這樣忙下去就會錯過小朋友的成長過程了(像今天才看到我家三歲的小男生拿媽媽的化妝品在畫自己的臉)。所以把專案進度做個段落之後,就要回家來養小孩了(沒錯,我就是要從小開始訓練小朋友寫 code 了!)。

做玩具與做產品的差別

這回幾乎把一些常見的 iOS app 常用的東西都再磨過一輪。UI customization 當然是免不了的,另外,從 Facebook SDK 到 remote & local notification,從 HTTP API 的串接到 streaming messaging protocol 的訊息處理,從 Core Data 到 NoSQL 等等,甚至也很幸運的遇到了 iOS 7 的 migration,完全體會到做玩具跟做產品的差別。

這個 app 雖然不是全新打造的,但由於舊版的 app 架構有些不適合新改版的功能需求,所以最後幾乎是整個砍掉重練,從無到有手刻了超過三萬五千多行的程式碼(不包含3rd party library): image 雖然跟一些大型專案比起來還差很遠,但對我個人來說已是個里程碑,除了提昇了不少寫 code 的手感外,也更了解 Objective-C 跟 Cocoa framework 是怎麼回事。

分心團隊雖然是個新創團隊,但裡面的成員都不會太新手,有眼光犀利的UI、UX designer 讓整個 app 看起來很精緻,使用起來也更直覺;有優秀的工程師負責處理 API,也有專門負責行銷及想點子的同事,讓開發人員可以 專心的開發 app;除此之外,還有 Web 平台的開發人員,讓 Web 跟 Mobile 都有一樣的功能。在這短短的八個多月的時間跟大家學到不少。

徵人啟事

分心團隊目前仍持續有在徵人,有興趣的朋友歡迎來試試看囉!

HHKB Pro2 鍵盤使用心得

image

我每天的工作是敲打鍵盤之類的文書工作,所以幫自己找一隻順手的鍵盤也是剛剛好的藉口。

對於 HHKB 鍵盤的傳說,很早之前就有所聽聞了。最知名的應該就是 Richard Stallman 用 HHKB 鍵盤搭配百元電腦的那張照片(鍵盤本身比電腦本體還貴!)。我知道它是神器,但我等凡人即使拿了神器還是凡人,不會變成大神。 而且當初看到鍵盤上沒有方向鍵、沒有 CTRL 鍵跟 F1 ~ F12 鍵,在台灣也沒什麼機會試打看看手感,最重要的是,它的價錢不便宜,所以大多只是看看而已。

直到前不久去日本參加活動,有在電腦賣場試打了一下,心一橫的也敗了一隻回來,我挑的是白色無刻的版本。

RubyKaigi 2013

本篇文章已刊載於 OpenFoundry 電子報自由專欄,刊登之內容由專業的 OpenFoundry 團隊潤稿,此篇為原文。

今年日本的 RubyKaigi 2013 在 5/29(四)、5/30(五)、6/1(六)舉辦,議程是雙軌同時進行,共計有超過五十場演講及十場 Lightning Talk,並包括三場主題演講 (Keynote),跟上一屆一樣也是三天。這次有超過 500 位 Ruby 開發者參加,其中有超過 100 位是從國外來的,這樣的規模短期內在台灣可能還是沒辦法達到(全台灣真的有在用 Ruby 工作的開發者加起來總數說不定都還不到 500 人)。 image photo by @eddiekao

Code Reading @ RubyKaigi 2013

很高興這次能有機會到日本參加 RubyKaigi 2013,我分享的題目是:"Code Reading, Learning More about Ruby by Reading Ruby Source Code“,算是個滿冷門的題目,主要是分享我自己從閱讀 Ruby 原始程式碼中學習到的一些經驗。不過當天還有不少朋友來捧場,讓場子看起來不會太冷清,真是太意外了(其實我也搞不清楚到底有多少人,我當時已經緊張到沒辦法算數了)。
Really glad to go to Japan and join the RubyKaigi 2013, the topic of my talk is ”Code Reading, Learning More about Ruby by Reading Ruby Source Code“, which I don’t think it’s a popular topic, and it’s about my experience while reading Ruby source code. Thanks to those friends who are willing to come to my talk.(Actually I was too nervous to count how many people already)

在進入主題之前,我問大家有多少人曾經來過台灣,結果在場有十來個人舉手,就以現場人數的比例來說不算少。
Before I jump into my topic, I asked everyone how many of you have been to Taiwan before, to my surprise, there’re more than 15 people raised their hand, which is about 20% of the attendees in this hall(I think).

image View on Speaker Deck | Download PDF

雖然之前有一些些上台演講的經驗,但這是第一次出國演講,而且還是全程用英文演講,我知道有很多的大神甚至 Ruby Committer 就坐在台下,所以我相當緊張。我那個「上台的前一天不會睡」的魔咒果然還是依舊存在,所以演講當天凌晨四點,我拿著筆電到飯店的大廳練習對著空氣講,練到早上七點,但還是覺得不夠穩。
Although I have a some experience about having public speech, but it’s my first time to have a presentation abroad and do my speech in English, and I also know there might be lots of awesome rubyists sitting there, including some Ruby core committer, so I really feel nervous. And I have a curse that “I won’t sleep if I have a public presentation on the next day”, so I practiced in the lobby of the hotel from 4 A.M. to 7 A.M., but still not stable enough.

我的演講廳是小間的,所以壓力有稍微小一點點。
My presentation hall is the smaller one, so my pressure is also slightly smaller, too.

為了怕現場出包,所以在 code review 展示的部份我是用預錄的,不過事後想想好像直接現場操作比較容易掌控時間
I think I might make some mistakes while presenting, so I recorded the code review demo in advance, but I think the real live demo might be easier for me to control time.

上午的演講結束後,下午發生的小插曲讓我抖了好大一下。我在演講內容裡有提到一些在 Ruby 的原始碼裡面有一些小地方的命名不太優,當下大家笑得很開心,雖然娛樂效果達到了,但我其實也有點擔心會不會有什麼不好的副作用。結果上午的講場結束,下午就看到這則
After finishing my talk, there’s something surprised me. In my speech, I mentioned some interesting naming in the Ruby source code just for fun. I know it might be entertaining but still a little worried about if there would be any bad consequence. Then in the afternoon, I saw this tweet:

image

哇!! 我有嚇到的感覺了,不過因為我個人覺得這樣好像有些失禮,所以當晚的 Official Party,我就親自去跟 @nobu 說聲不好意思,希望沒有造成他的困擾。其實我也是想趁這個機會認識一下只有在網路上才能看得到的傳說大神,而且他好像一點也不在意。
Wow! That’s really really surprised me!! and I don’t know if this would cause any trouble for committer, so I went to @nobu and said sorry to him on the official party in the night, and hope didn’t cause extra trouble for him. In fact, I went to him also want to know him by this chance, and actually he didn’t mind at all.

第三天的議程,我本來就打算要來聽 Jim Gay 的主題(他是 Clean Ruby 一書的作者 ),沒想到坐下來沒多久竟然看到自己的名字跟前一天講的東西出現在投影片上:
In the last day, I was planning to attend Jim Gay’s talk, whihc is the author of the book “Clean Ruby”. After sitting in the hall, I suddenly found my name was quoted in the slide:

image

再度有被嚇到的感覺。
Yes, Supprised me again.

活動結束後,RubyKaigi 2013 的頭目角谷也推了一篇
the Organizing Director of RubyKaigi 2013 Shintaro Kakutani also tweeted this:

image

再次看到自己的名字被提到,有些驚訝也有些不好意思,不過這個"Conference-Driven Development(CDD)“ 聽起來好像不錯,而且我喜歡 "RubyKaigi made Ruby Better",如果有朝一日我有能力,我也希望可以多貢獻一些心力。
I feel surprised again and also little embarrassing, but the "Conference-Driven Development(CDD)” sounds workable, and I love the “RubyKaigi made Ruby Better”, I hope I can do more contributions to Ruby and this community someday if possible.

感謝高井さん(@takai)幫我拍的照片,讓我在 Rubyist 時計上也可以有一張漂亮的照片。
Thanks to Naoto Takai(@takai) to take a photo for me so that I can have a nice picture on the Rubyist Tokei.

image photoed by @takai

這趟日本之行有學習到不少東西,收獲很多,會在接下來的幾篇文章介紹。最後,有講的不好的地方,還請多多指教。
Anyway, I learned a lot on this trip to Japan, and I’ll write them down in next blog posts. At last, if there’s any bad or something wrong about my speech, please feel free to comment.

Thank you all, RubyKaigi team, you’re all AWESOME!

HHKB Pro 2 鍵盤入手

image

其實沒什麼,只是敗家紀錄一下,就前幾天去日本參加 RubyKaigi 時候順便帶回來的。而且還特別挑了個無刻的回來:

image

鍵盤很小一個,只有 60 顆鍵帽;沒有上下左右鍵,沒有 Page UpPage Down 鍵;Ctrl 鍵的位置不一樣(跟日本鍵盤一樣,在一般鍵盤的 Caps Lock 的位置),ESC 鍵在數字 1 的左手邊;沒有最上面一排的 F1 ~ F12 等種種跟一般鍵盤的差異,我也不太懂為什麼我要練這種折磨人的鍵盤,因為練這個可能得把之前的習慣整個砍掉重練,跟練 Vim 有點像,一但只要習慣它,就沒辦法習慣一般鍵盤了。

不過我很喜歡它打起來的手感,所以.. 喜歡就不需要太多理由了,還在習慣中 :)

一個月後的使用心得