All posts by hevangel

Head First Python

說到要學電腦程式語言,Python相信是近年最炙手可熱的語言了,一來Syntax易學易用,二來library支援眾多,更是近期最熱門人工智能的主要語言,我最近因工作需要也要學Python。以前我讀大學時程式入門課教C,然後過幾了年進化為教Java,不過最近陸續轉為教Python了。公司新請回來的大學生個個都懂Python,吾等老海鮮也要與時並進才不會被淘汰。

原本公司內部個兩不同部門使用不同語言,chip testing和apps那邊以前用tcl,貪tcl不用compile方便操作,我們software testing那邊則以C++為主,因為需要OOP和static type來架構軟件測試系統。兩個部門有很多基礎的應用程式功能重壘,不過因為使用不同語言,同一個功能需要寫兩次。高層認為一code兩寫很沒有效率,下令我們統一使用同一語言,在雙方列出對語言的要求後,Python成為很自然的選擇。Python是interpreter language不用compile,同時又支援OOP和type checking,一次過滿足我們兩個部門的願望。

學習新程式語言,很多人喜歡讀網上課程,不過我比較傳統喜歡看書,我嫌網上課程看影片太嘥時間,看書容易明的部份可以速讀,難明的部份可以花多此時間重看幾遍。學習寫程式最重要是落手落腳寫code,跟課本的練習做同做網上課程的功課分別不大,反正程式寫得好就work有bug就唔work,沒有需要改功課對答案的問題。在芸芸眾多本Python書中,我挑選了這本《Head First Python》,看電腦書不是大大本很厚多字就好,最重要是把應用慨念解釋清楚,有時一張圖或一個例子可以抵得上三版紙枯燥的文字。這本書開宗明義不是教寫程式,而是寫給已懂其他語言的人學習Python語法。這本書最優勝之處的單元的編排,整本書就是寫一個有趣的小小網上應用程式,每章都教一些新東西為程式加上新功能,看書就好似一路做project咁不會悶。最怕有些程式書只是把語法由頭到尾列出來,再口水多過茶地加鹽加醋地長篇大論講解。

最初看Python很不習慣那個indent style,寫了咁多年程式都係用curly bracket, 唯有Python別樹一格強迫indent,不過寫幾個星期習慣了就不再覺得礙眼。同C++或Java比,Python同Ruby算是第四代的程式語言,去年學過Ruby所以Python很快上手,兩者的設計理念不同,不過最核心的本質其實一樣,明白了個背後用C寫的Ruby/Python個interpreter,睇埋個interpreter入面的internal data-structure,咁成個語言就一理通百理明。Ruby就乜都係object,Python雖然有人都係咁講,但我認為Python的真蒂其實乜都係callable,連class declaration都係一個function。明白了這一點後,Python所有新feature concept,如generator,declaration,context manager,future, asyncio等等就能清楚理解明白。

睇完本書跟住它做完個project仔,再上Python官網看一次官方tutorial,把standard library的所有API係咁意睇一次,大慨知道有乜function乜library可以用,遇到問題就問stack overflow大神求救,還有功能強大的PyCharm相助,其實Python很容易上手。越寫越覺得Python好使好用,大有相逢恨夜的感覺。現在學了用了Python兩個多月,自問至少追上公司新仔的水平,review佢地寫的code也不會失禮問白痴問題。

韓索羅: 星球大戰外傳 Solo: A Star Wars Story

每次有新星球大戰電影上映,我身為星戰迷都必定入戲院看首輪公映,不用怕遲了看被朋友劇透。以往幾年星戰都安排在聖誕黃金檔期,今次外傳《韓索羅》不知是否迪士尼沒有信心,提前放在五月淡季上映,避開年尾檔期的其他大片。雖然輕易地拿下本週美國票房冠軍,但淡季始於是淡季,票房同上幾套比少了差不多一半。票房不理想並不是因為拍得差,始終外傳的號召力不夠,加上這套是(相對)小成本製作,一般觀眾的入場意欲不大,主要靠一罪老影迷支持。

我認為《韓索羅》拍得不錯,故事簡潔明快,娛樂性豐富,關於韓先生身世的問題亦一一解答,不過就欠缺驚喜。今集比上不足比下有餘,沒有可歌可泣的《俠盜一號》般精彩,但至少沒《最後的絕地武士》劇情犯駁,把整個星戰的世界觀推翻,讓星球迷邊看邊鬧,如果有超光速神風敢死隊這招,第四六兩集叛軍打死亡星十五分鐘就可以收工完場。

下文包含劇透,未看慎入。不過透了也沒有所謂,看過正傳已知道韓先生的結局。

《韓索羅》如果脫去星戰的外衣,就是一部不折不扣的黑吃黑打劫片。小混混靠小聰明行走江湖,想起黑幫大佬尾注,失手後著草亡命天涯,途中遇上貴人兼師父,教他幹這行買賣的生存之道。第一個任務打劫官府出師不利,同門師兄師姊領便當,師父還欠了黑幫大佬一大條數,只好再而走險再幹一場,打劫隔離字頭的工場。這類電影很例牌有對亡命鴛鴦,這套也不例外,主角小混混的前女友,很自然巧合地當了黑幫大佬的情婦。結局扭橋成功翻盤黑吃黑完全不意外,反而黑幫阿公竟然Darth Maul就黑人問號,他不是在第一集被Obi-Wan斬開兩截嗎?散場後問一起看的星戰人肉百科友人,原來他早在卡通版Clone Wars復活了,下半截身變成機械人不做Sith改行做黑幫大佬。星戰傳統一向是不見屍體不算真死,角色受歡迎就可以復活。、

之前看預告片和劇照,總覺得Alden Ehrenreich不似韓先生,福伯演韓先生的形象實在太過深入民心。不過電影中看出Alden下過一番苦功,磨練演技學習福伯的神態表情,他除了沒有福伯年輕時般靚仔外,我認為他演韓先生可以收貨。至於飾演Lando Calrissian的Donald Glover,簡直超水準演出,入形入格之餘,還把角色性格發揮得淋漓盡致。Chewie可以說是這套戲的正印女主角,結局與小混混遠走高飛的不是大佬情婦,而是這隻可愛的大猩猩,他出場時我們全場歡呼。至於星戰另一個主角千歲鷹號,今集依然活躍,畢竟Kessel Run她才是正角,不過有點不慣是每集她都有新造型。船頭無端端多了隻逃生艇,船頂又少了一個炮台,明明我那本陳年珍藏千歲鷹號設定集不是這樣寫。新角色方面機械人L3最討好,高喊機械人權去解放機械人有些少新意思,與Lando的人機戀很搞笑。掛名女主角Qi’ra成套戲都行行企企,最後忽然好打得,仲變埋下集大壞蛋。看資料才知女演員Emilia Clarke演過《未來戰士》的Sarah Corner,怪不得她這樣好打。

電影中收埋了很多彩蛋給星戰迷,每次有熟悉的東西出現,觀眾中總聽到有笑聲,詳細的清單可以上網查,我也不在此抄寫了。明年上映是本傳第九集大結局,然後再下年就到Boba Fett外傳,我估韓先生會在那套電影出場,否則bounty hunter題材咁冷門,還要是本傳中的奸角,沒有外援票房恐怕比今集還差。至於《韓索羅》會不會開拍續集,要視乎今集收唔收得,關於他的小事情要講的都講晒,續集要同本傳連戲有點難道。

STAND BY ME:多啦A夢

在外國生活想鼓勵小朋友學中文,最佳方法是看中文卡通,而叮噹(現今改了名叫多啦A夢)又是眾多父母的首選。一來叮噹是我們那代的集體童年回憶,二來看叮噹不用擔心教壞細路,最重要是叮噹是少數未被英文化又有出名的日本卡通,你不可能叫小朋友看中文版Pokemon,因為英文版更加流行。既然叮噹出了套3D劇場版,當然要弄一套粵語配音版,播給阿仔看,好讓他學習中文。

我們從少看叮噹長大的老觀眾,除了要重新適應新譯名外,基本上所有角色性格和人物關係,早己根深蒂固地植入腦海內。只要新劇場版與我們的記憶相乎,我們不會質疑故事的內容,就像是重看舊電視卡通版一樣,只是把畫面重拍成電腦立體動畫。電影只是把幾個舊故事串連起來,從一開始叮噹來來大雄家,到大雄求婚和結婚前夜為中心,到最後叮噹返回未來世界來催淚。若果用懷舊的眼光去欣賞這套電影,你會找到一切熟識的元素,看得開心滿足,重溫童年回憶永遠都是美好。

不過當你同小朋友一齊看,而他又問過不停的時候,你便會發現很多為理所當然的情節,其實新觀眾看不明白。我們會被套戲感動到,是因為我們與角色建立了幾十年的感情,之前看了幾百集的電視版和無數的大電影。套戲本身的故事其實很薄弱,對一個從未接觸過叮噹的觀眾(除了小朋友有這種人存在嗎?),左砌右砌斬件湊合出來的前半部,沒法盛載起大雄與靜宜感情和大雄與叮噹牽絆的重量。大雄為什麼喜歡靜宜,只是因為她是班上最漂亮的女生。靜宜為什麼喜歡大雄,說他是一個好人可以託終身(好人不是應該領好人卡嗎?),沒有他們二人之前幾百集一起的經歷,這句說話聽起未免流於空洞,靜宜倒不如說作者將自己指腹為婚許配給大雄算了。

叮噹畢竟是日本國民級的IP,新劇場版玩reboot賣懷舊,一次過收割過去幾十年種下的成果,在商言商亦無可厚非,老觀眾亦帶同子女一起看老朋友。叮噹系列長出長有,每年例牌出套大長篇電影,十五分鐘電視版更是幾時都可以拍。不過這樣reboot法只可以玩一次,你可以想像到同樣的製作模式,在這套3D版的時間線上拍多套續集嗎?

玩轉極樂園 CoCo

Pixar出品必屬佳品,每一套Pixar電影我都會看,最喜歡它的卡通不只拍給小朋友看,大人看往往有更深刻的體會。《玩轉極樂園》上畫時,原本想帶阿仔去戲院看,不過有點擔心他太細,戲中談及死亡怕嚇驚他,在戲院哭要走就大件事。結果我的憂慮全屬多餘,在家看影碟時他咔咔聲笑得很大聲,骷髏骨原來不一定都恐怖,可以很可愛很有趣很搞笑。

墨西哥的亡靈節有點像我們中國的孟蘭節,一年一度先人會從陰間來到陽間探望在世的親人,而親人亦準備好食物去拜祭先人。主角Miguel天生喜歡唱歌,可惜家族有不為人知的往事,太太婆立下禁令嚴禁後代玩音樂。亡靈節一夜,Miguel陰差陽錯,走過了花橋進入陰間,尋找歌神太太公。故事後段的扭橋有點大路公式,不外乎Pixar最拿手的催淚技倆。從一開始親情與理想不能共存,到發現隱藏多年的陰謀,原來太太公另有其人,然後太太婆與太太公重修舊好,一家人合力對付壞蛋歌神,最後讓太太公見上女兒太婆最後一面。故事沒錯是很感人,相信很多人會看到眼濕濕,但我認為有點太過商業計算,不似Up開場公公婆婆那段般順其自然,又沒有Inside Out最後帶出Sadness功用的神來之筆。

戲中墨西哥文化對死亡的觀念很特別,不是中國傳統的轉世投胎,亦非西方傳統的上天堂落地獄,而是人生基本上可以活兩次,一次是現世的人生,另一次是死後才開始。戲中的陰間世界毫不恐怖,除了所有人變了骷髏骨外,大體上現世的生活沒有分別,亡靈一樣要賺錢工作,有各式各樣的娛樂。真正的死亡是當世上所有人都忘記了你的存在,你便會從死後的世界永遠消失。根據戲中兩次死亡的觀念,生前的名氣就是死後世界的資產,不論你是流芳百世的偉人,還是遺臭萬年的大壞蛋,總之有人記得你,你便永遠不會消失。單憑家人後代去記念不太可靠,還是出名到寫入歷史課本最安全。有趣是劇中有相關的彩蛋,在歌神家中舉行派對上的賓客,有很多墨西哥歷史人物客串出場。不論東方的輪迴還是西方的天堂地獄,在死後世界都是善有善報,惡有惡報,相對在劇中的死亡觀念底下,二十世紀永不消失的歷史人物,最有可能就是大魔頭希特拉。在如此扭曲死亡文化下生活的人,會不會有著與我們不一樣的善惡觀呢?聽說墨西哥瑪雅和印卡文明都喜歡活人祭神,會否源於這個死亡文化呢?

只要還有人記得你,你便活在其他人的心中,單從表面的意義去解讀,不失為一件很浪漫的事。不過若果作為放諸普世的規律,其延申出來的必然結論,有名氣的惡人可以擁有有無限生命,善良的普通人最後難逃消失的命運,又是否我們樂於接受的死亡觀呢?很明顯Pixar這次失手了,沒深入地思考死亡的命題,只是粗疏地挪用墨西哥文化,於是得出了半吊子讓人不滿意的結論。小朋友故然只求開心看戲,大人觀眾亦最多只是聯想到去慎終追遠,大慨只有我等讀哲學的閒人,才會去挑剔《玩轉極樂園》的死亡觀吧。

皇家特工:金圈子

我很喜歡第一集《皇家特工》,黑色幽默玩轉傳統特務電影,同時動作場面凌勵打得爽快,教堂一鏡到底大混戰同爆頭煙花叫人印像深刻,續集《皇家特工:金圈子》我當然會繼續捧場。這集故事開場不久,皇家特工變冚家特工,成個特務組織一鑊熟,死剩主角Eggsy同光頭佬Merlin,如此別開生面的開場倒很少見。

看這套電影的觀眾,大慨對故事不會有太多要求,大至通順就可以收貨。與上集一樣派便當亳不手軟,總之角色會唔會死,點樣死法,你完全估佢唔到。這一集新加入美國特工組織,英國紳士對美國牛仔,原以為有些英美文化不同的笑話,不過戲中卻激不起什麼火花,白白浪費了一個笑料好題材。這套續集的最大問題,是動作場面的設計比不上前作,除了重演酒吧閂門教仔變蝦碌版,其他的動作場面太過普通,沒有上集那麼爆。開場追車是好看但流於行貨,雪山偷解藥只是配角打雜魚,最後主角兩人攻入大佬基地,打機械狗只是純萃搞笑,Eggsy打Charlie是完全在打爛仔交。只有最後打威士忌那場勉強合格,但始終二打一缺乏緊張氣氛,人肉紋絆機的安排太刻意沒有驚喜。

上集的壞蛋網絡富豪要創造新世界有理想很有氣勢,今集當壞蛋的Poppy姨姨反而似是丑角只負責搞笑,令整套電影失去焦點,浪費了一個金像影后的演出。將毒品變成奪命噴血毒藥純萃惡搞,反正毒品最終都是殺人,分別只是遲死定早死,是全身彊硬爆血死,還是變道友病死。最後壞蛋是美國總統和特務威士忌,認為今次是難得解決毒品問題的大好機會,吸毒的人死光了,不就沒有毒品問題。其實那些道友就算死唔去,見過鬼仲唔怕黑咩,立即戒毒以後遠離毒品。看來Poppy姨姨用心良苦,改撈正行後發財立品,順便幫人戒毒。

今次續集打鬥不行,奸角又沒有魅力,上集出位成功是兩大皆從缺。我是在搭飛機時看這套戲,看到三個皇家特工正準備殺入壞人基地,理應最繄張時候剛好要落機。之後我完全沒有追看結局的意欲,拖了成個星期才的起心肝看埋結局,咁你話套戲好唔好睇喇。