電影流水帳(2009/11/11~2009/11/19)

終於想起來了,上次我漏寫的片子就是 Coco Channel。以後還是要記在筆記上好…

  • 非誠勿擾 (IMDB, Wikipedia)。馮小剛拍的片子,拍的很不錯。從註明非誠勿擾的徵婚啟事開始的一段故事,當然非誠勿擾的結果,往往會有人來亂,舒淇就是。一個別人婚姻裡的第三者,想跳脫卻又無法割捨情感,心裡苦悶無人能傾訴,只好找陌生人,貼徵婚啟事的葛優就雀屏中選了。從陌生人到朋友,從朋友到自殺前的伴遊,北海道的風光和葛優的情還是無法讓舒淇跳脫她的苦惱,最後還是自殺。但自殺沒死成,卻讓舒淇看開了一切,重新開始人生。值得一看的片子,裡面很多台詞都很有梗,片子一開始的發明很有趣,據我同事說真的有產品上市,讓我忍不住想買一個。
  • Coco Chanel(TV)。這不算電影,是電視公司拍攝的戲劇,但這片榮獲多個獎項。主要是介紹 Chanel 的前半生平,片子以交叉的倒敘來介紹 Chanel 的生平。我覺得這個女人最令人佩服的是能追求自己的夢想,勇於跳脫現有的生活,原本她是因為愛情而跟某個男爵住在一起,但在她看清男爵不會跟她結婚以後,即便男爵給他富裕的生活,她還是分手。這也是為甚麼這兩年會有人拍她傳記電影的緣故吧。人一旦在一個熟悉的環境久了,就很不容易再跳脫出來,這就心理學上講的”舒適圈”,我現在好像就是這樣子。
  • Surrogate(IMDB, Wikipedia),中譯:獵殺代理人。科幻驚悚片,由於機器人工業的發達,讓人類選擇使用機器人來過生活,自己只要在家裏操控就行了。這樣的結果,使得你看到的人,未必是你真的認識的人,這也是這部片子想說的事情,最後由於機器人中了毒,完全停擺,讓人類回到沒有機器人的時代。我個人覺得還蠻普通的片子,因為用機器人出去 social,我覺得還蠻雞肋的,如果這些感官刺激真的能透過網路傳回家裏的本體,幹麼還要機器人,大家只要上網路去 social 就好啦~就像 The Matrix 那樣豈不是樂的輕鬆?話說回來,或許這跟名牌是一樣的,不管名牌的 logo 怎麼樣地醜,有個名牌在那兒,總是讓人比較放心,或許有機器人在,會比網路上的虛擬形象來的讓人放心吧。
  • Four Christmases(IMDB, Wikipedia),中譯:真愛囧冤家。兩個不愛回家過聖誕節的人,因為飛機停飛,湊巧又被記者訪問到,導致被家人逮到,只好乖乖回家過節。由於兩人的父母都離異,導致他們必須一天趕場四個聚會,四個聚會下來,讓他們對人生改觀。還挺有趣的片子,可以讓人思考跟家人過節的真正意義。兩人最後從分手到復合,有點難以理解,我猜或許是四年的羈絆跟當天的重新認識彼此才讓他們復合的吧。

發佈你的 Python 程式

因為覺得老是從專案目錄下執行程式也不是很方便,所以想,應該要把程式弄的標準一點,能依循比較正式的方法去發佈程式。一般來說,各大語言都會有建議怎麼去散佈、發佈你的程式。
所以今天早上胡亂地用 python deployment guide 找了一下,發現找不到這樣的 guide。後來才發現找錯關鍵字,python 裡是用 distribute/spreading,改變一下關鍵字,就能找到這幾份:

文件不難,照著試一試,的確一下子就寫好了。
比較麻煩的是程式如果要用到 module 裡的一些檔案時,會不知道路徑。舉例來說,我是把 glade 產生的 gtkbuilder ui 檔案放在 module 路徑下,那程式該怎麼讀取呢??總不能寫死吧。還好 Stack Overflow有解答:Retrieving python module path,就是用 os.path.dirname(module.__file__) 取得。

Bing translate in Python

根據 Microsoft Translator HTTP 介面,然後用Python寫的。程式不長,其實跟 google translate 的方法很相似,最下面有使用範例。

附帶一提的,Bing翻譯網站上完全沒提到要怎麼申請 appid,申請 appid 要去 Bing Developer Center 申請,所以你要自己去申請,取得 appid 之後,把程式裡的 your_app_id 換成你申請的 appid。

#!/usr/bin/env python
# -*= coding: utf-8 -*-
import sys
import os
from urllib import urlencode
import urllib2
from urllib2 import Request, urlopen, URLError, HTTPError
import json
from translate import *
class BingTranslate:
appid = 'your_app_id'
base_uri = "http://api.microsofttranslator.com/V1/Http.svc"
def __read_from_req( self, req ):
try:
response = urllib2.urlopen( req )
result = response.read()
except HTTPError, e:
print e.code
print e.read()
result=""
return result
def detect( self, text ):
uri="%s/Detect?appId=%s" % ( self.base_uri, self.appid )
req = urllib2.Request( uri, text, { 'Content-Type':'text/plain'} )
return self.__read_from_req( req )
def getLanguageNames( self, locale=None ):
"""
Thanks MSDN, I still don't know the value of parameter 'locale'
Don't pass any parameter to getLanguageNames, or you will get error.
"""
uri="%s/GetLanguageNames?appId=%s" % ( self.base_uri, self.appid )
req = urllib2.Request( uri, locale, { 'Content-Type':'text/plain'} )
return self.__read_from_req( req ).split( '\n' )
def getLanguages( self ):
uri="%s/GetLanguages?appId=%s" % ( self.base_uri, self.appid )
req = urllib2.Request( uri, None, { 'Content-Type':'text/plain'} )
return self.__read_from_req( req ).split("\r\n")
def translate( self, text, fr="en", to="zh-CHT" ):
uri="%s/Translate?appId=%s&from=%s&to=%s" % ( self.base_uri,
self.appid, fr, to )
req = urllib2.Request( uri, text, { 'Content-Type':'text/plain'} )
return self.__read_from_req( req )
if __name__ == "__main__":
t = BingTranslate()
print t.translate( "test" )
print t.translate( "鬼", "zh-CHT", "en" )
print t.detect( "中文測試" )
print t.detect( "中文测试" )
names = t.getLanguageNames()
langs = t.getLanguages()
print "Language Names (total %d):" % len(names)
for l in names:
print l
print "Languages (total %d):" % len(langs)
for l in langs:
print l

電影流水帳(2009/10/28~2009/11/10)

好像有漏掉一部片??但我沒什麼印象了,拖太久寫就會有這種毛病出來。如果有想到再來補到下篇好了。不知道能不能破百,好緊張。

  • The curious case of Benjamin Button(IMDB, Wikipedia),中譯:班哲明的奇幻旅程。很有趣的故事,一般人是從小到大,從年輕到年老,男主角卻是剛好相反,由老到年輕,這使得他必須要把握和其他人在一起的時間。找維基百科時,發現這其實是由一個短篇故事改的,如果想看原文故事的話,條目上列有連結。
  • GOEMON(IMDB, Wikipedia),中譯:大盜五右衛門。很像電玩的電影,中心思想有點不太清楚,但是電腦動畫是做的很棒就是了。電影有提出一個假設,說光秀其實是跟秀吉聯合謀反,但後來秀吉卻出手幹掉光秀,假稱是為信長報仇,這當然也不無可能啦。電影的最後,五又衛門衝進去硬幹的時候,真是讓我大吃一驚,誰能告訴我為什麼忍者技能會跟騎士或武士一樣啊??
  • The accidental husband(IMDB, Wikipedia),中譯:我的意外老公。這也是那種搞浪漫的電影,女主角是愛情博士,有在電台開節目,男主角本來要結婚了,要結婚的那個女人因為這個博士的話而取消了婚約,男主角很不爽,朋友幫他,利用電腦改了女主角的婚姻關係,迫使女主角來找他,最後本來要結婚的女主角也改變了心意跟想法,取消了婚約,改跟男主角結婚。故事普普通通,但這部電影加了蠻多印度的元素在裏面,挺有意思的。
  • The Orphan(IMDB, Wikipedia),中譯:孤兒怨。故事頗為離奇,一個孤兒怎麼會這樣呢?這讓我一直在思考,幸好最後算是有提出合理的解釋,原來 Esther 是個長不大又有精神方面疾病的女子,所以才導致這樣的結果。其實本來有點排斥這樣的片子,因為這樣的題材讓人心裡毛毛的。

gwibber 的 spell 問題

如果你用 gwibber 時,碰到下面錯誤的話,這是因為沒有中文的 aspell 資料檔的關係:

File "/usr/lib/python2.6/dist-packages/gwibber/gwui.py", line 455, in __init__
self.spell = gtkspell.Spell(self, None)
glib.GError: enchant error for language: zh_TW.UTF-8

解法很簡單,修改 /usr/lib/python2.6/dist-packages/gwibber/gwui.py 把 455 行的前後加上 exception handling 即可:

try:
self.spell = gtkspell.Spell( self, None )
except:
pass

修改時要注意縮排問題,python 對這點可是很講究的!

電影流水帳(2009/10/23~2009/10/27)

前兩天我突然想到2000年在湳山戲院看的 Autumn in New York這部片,我記得,並不是這部片子好看到讓我印象深刻,而是因為我在看這部片的時候居然睡著了~我很少因為看片而睡著,這片算是第1部,也因此讓我印象很深刻。

  • 名偵探柯南-漆黑的追跡者(IMDB,Wikipedia)。這一集呢,之前在卡通或劇場版裡出現的角色幾乎都出現了,被召來要調查分散在米花市附近有關聯的幾件謀殺案,小五郎這次出的糗挺有梗的,能讓人笑出來。這一集裡推理的戲份不是很重,反而比較是著重在找出內賊上,最後的內賊頗讓人意外,真想不到松本清長也會被綁走。總之,每次看柯南都是在想,不知道作者打算在什麼時候做出結局…
  • K-20 怪人二十面相・伝(IMDB, Wikipedia),中譯:K20-怪人二十面相。當作科幻小說來看會比較好,故事的背景雖然是在二次大戰前後,但是牽涉到的科技實在是令人驚訝。故事最後的結局算是出人意料,兇手當然就是明智小五郎,自己做賊還喊捉賊,所以永遠捉不到自己。
  • Up(IMDB, wikipedia),中譯:天外奇蹟。終於看了這篇獲得一致好評的動畫片,的確真的很好看,裏面的小胖子很逗趣,他總是在適當的時候讓你笑一下,我很喜歡他。整部片子想講的其實就是把握當下,該衝就衝,不要等到來不及的時候才扼腕。不過跟前面的幾部比起來,我還是比較喜歡超人特攻隊跟怪獸電力公司。