Firefox 附加元件:JS 注音輸入法

這兩個星期的下班時間,除了玩星海爭霸以外,另外的娛樂就是把之前獨立成 library 的 JS 注音包成 Firefox 附加元件。

Firefox 使用者:安裝 JS 注音輸入法

安裝之後啟動的快速鍵是 Ctrl+Alt+1(Mac 為 Command+Option+1),想要幫忙開發的話原始碼在 Github。很久沒有碰 Firefox add-on 才發現現在的 tool 好進步呀,Add-on SDK(原本叫 Jetpack)把常用的都包成可以任意取用的 CommonJS module,再也不用什麼東西都跑去 XPCOM/XUL 裡面挖。

不過也是因為 SDK 的版本在 Firefox 附加元件網站上架有點問題,這之後再解決。另外就是因為要對輸入框發出 keyboard event,我還是寫了需要 chrome 權限的 module。這部份抄了一些同事在 Virtual Keyboard API 的 code。也發現了一些自己在 JS 注音設計的 IME Engine API 不合理之處,「有空」的話要一併檢討,回去改善 Gaia 的 Keyboard App。

另外可以開發的是可用在 Chrome 的輸入法:Chrome 早就有為了套件設計的 chrome.input.ime API 了。希望在我「有空」之前這個就被別人做完。That’s the power of open source。

(用自己寫的輸入法打字感覺滿奇怪的 ^^:)

 

Re: 如果想要免費實習,就去參加 Open Source 活動吧

揭露:Gasolin 是我同部門的同事,我們在同一個 Project

Gasolin 發表了一篇「如果想免費實習,就去參與 Open Source 活動吧」的文章,結果在某第三地意外引發了檢視邏輯的討論。從文章的起頭,我想這篇文章的發想,是從目前的就業環境來為畢業生就業的 bootstrap 問題提出一個答案。我自己的經驗就不用再度長篇大論了:我在第一份工作前所累積的實力都是在學校工讀的專案與 Open Source 社群專案中累積的,在這之中累積的溝通、合作、工程、規畫實力我還真的想不到哪裡能有同樣強度的機會。

至於這適不適合所有人呢?我也不敢說,至少不敢說的跟 BobChao 或是 Gasolin 那樣肯定。就如人與所有團體的關係一樣,所謂正確的位置或是發揮的空間都是要自己爭取的,也沒有某個型態的組織模式可以跟你保證你一定找的到自己的位置與空間。

談到組織模式,就不免又要提一些 Open Source 專案與活動治理。某個場合才跟另一個強哥 Legist 聊到一個與我原本信念相反的現象:大部分的 Open Source 軟體專案的治理,最終不是落入慈愛的獨裁者(benevolent dictator)的 BDOL 決策模式(例如 Linus Torvalds 之於 Linux Kernel),不然就是由某公司直接掌握方向(例如 Canonical 之於 Ubuntu)。社群最後也常常演化出慈愛的獨裁者。當然人們都會說 Open Source Licensing 直接從法律的層次保障了你「不爽就 fork,開新專案」的權力,但實質上這個權力在大型專案能有效實行的機會渺茫,就跟台灣的公民投票法一樣 XD

岔開了,內文與標題不符 … 總之我想說的是,如果這是 Open Source 活動組織與治理不可避免的走向,在其中的我們要如何確定我們給畢業生的 offering 一定是比起「企業免費實習」還要好的機會(例如,如果參與 Ubuntu 的開發很明確的只是為了某天要拿到 Canonical 的工作,那跟免費實習有什麼不一樣)?前述的確定,能否從組織結構與治理上保障?如果找的到這兩個問題的答案,大家就可以毫不猶豫的認證蓋章 Gasolin 的文章,我們對就業市場的衝擊也是對台灣社會很大的貢獻。

PS. 澄清一下,Canonical 公司與 Ubuntu 專案不必然是前述的樣子,請大家把這兩個字換成 X 公司與 x 專案 … 如有冒犯敬請見諒,畢竟我不能用另一組公司和專案的組合 😛

Les Misérables the Movie/電影《悲慘世界》

Les Misérables

I finally was able to see Les Misérables last Friday. A few notes, from a person who had enjoyed the musical recently. No spoiler here.

  • The movie and the musical are the different realizations of the same story, although they share the songs and (of course) the characters. I highly recommend anyone who have see either of them to see another.
  • Pace: Movie features slower pace, more dialogs, which gives a better explanation of the story. However it made the story less intensive.
  • Song selection: The song “Suddenly” appeared to be a new song composed exclusively for the movie. However, all of the original songs are either trimmed or shorten in the movie, except “I dreamed a dream” (featured in the teaser), where Anne Hathaway gave the breathtaking (and heartbreaking) performance. I would expect a director’s cut version coming within an year or so.
  • Javert: As you may know, the essence of Les Misérables story is about the struggle between two aspects of justice — instead of justice v.s. evil. It’s a pity that will all the trimming, the storytelling of the movie failed to tell people Javert’s justice in great detail, resulting a unbalanced view of the two main characters.
  • Sound mixing: Just like what you’ve heard in the teaser and the highlight sound track album, the songs are all mixed with vocal at the front position and lower volume of music. For me, it kind of prevent me from enjoy the sound track with earphone, but it allow the song to blend into movie scene and seamlessly go with the dialogs. It also allow more expression for the performer.
  • Vocal scenes: Another unique aspect about the movie is how the vocal scenes if filmed. Basically, all the songs are filmed nothing but the actor/actress’s face and the blurry background. This allowed the viewer to concentrate on the expression of the performer.
  • Live recording: As explained here in the extend first look intro, all of the vocal voices are recording live. All the effort on that has paid off, judging by the immense feeling it delivered to the audience.
  • Mandarin Chinese subtitle: the movie wasn’t released until last Friday, which angered a lot of local Les Mis fans, including me. However, I can see that with the pushed back date, the translation is a lot better compare to literal translation I usually see in the theater. Subtitle was also carefully applied to the screen to avoid obscuring the performer’s face, something unseen in the theater previously too.

I might come up different thought if I could finish the novel itself; In the mean time, I highly recommend people going to the theater to at least know the story, and dive deeper if you would like know more.


終於在台灣上映的第一天去看了電影《悲慘世界》。在這裡寫一些感想和與之前看的音樂劇的比較:

  • 雖然歌和角色是一樣的,電影和音樂劇是同一個故事的不同的呈現方式。強烈建議看過音樂劇的人去看電影,或是看過電影之後找機會看音樂劇。
  • 步調:電影的步調比音樂劇慢,還有對話,所以故事解釋的比較清楚。但是感覺就沒有這麼緊湊。
  • 選曲:《Suddenly》這首歌是電影的新曲,但其他音樂劇原有的音樂都被剪裁或是縮短了。唯一的例外是安.海瑟威的《I dreamed a dream》(這部預告用的曲)令人心碎的演出。之後應該會有導演完整版吧。
  • Javert:熟悉故事的人會知道《悲慘世界》的精隨在於兩個「正義」代表的對抗,而不是一般的正邪對抗。電影很失敗的對故事的剪裁沒有把 Javert 心中的正義講的很清楚,導致兩個角色的不平衡。
  • 混音:如果去電影院之前就看過預告或是聽過原聲帶專輯,就會發現歌曲的人聲都混得很前面,音樂也相對比較小聲。對我來說這樣的音樂用耳機聽起來很怪,但是到電影院就會發現它和對白以及電影運鏡很合。這種混音也讓演出者能表現更多表情。
  • 運鏡:電影很獨特的一點是獨唱曲的運鏡方式。基本上畫面上只有表演者的臉,背景全部都是模糊的。看起來是故意讓聽眾能夠更專心的看演出者的表現。
  • 現場錄音:在搶先看的影片有介紹,所有的歌曲都是拍攝現場錄音的。我覺得從電影帶來的感覺,這些功夫都達到了它的用意。
  • 中文字幕:雖然說電影在台灣比其他國家慢,招致了很多粉絲(包含我)的抱怨,但是感覺起來因為這段時間,才讓代理商有機會把中文字幕修好:其他的電影都是上很粗淺的字面翻譯:可以看出來《悲慘世界》的字幕是精心處理過的。字幕在某些畫面也很小心的避開角色的臉,從來沒看過其他電影做過這種處理。

或許看完小說之後會有不同的想法。如果你沒有看過電影的話,強烈建議趁這個機會去看一下,至少了解一下故事,有興趣的話再看其他的。