Programmer’s Python: Everything is an Object – Mike James

因工作上的需要,去年我才開始學習Python,寫了Python程式接近一年,寫起來漸漸得手應手。Python不愧為近年冒起得最快的語言,它集傳統OOP語言如C++和快速interpret語言如Perl兩家之大成,syntax簡潔易用,dynamic typing和duck typing寫起來更輕鬆自由,若果對typing不放心還可以optional type check。我久不久要回去寫C++,寫開Python忽然要寫上一代language,很不習慣,然後就咒罵為什麼C++沒有那些好用的功能,當然鬧了兩句後,就會記得C++比Python運行速度快很多倍,static type是有其存在的原因。

學習一個程式語言,除了學習syntax學習使用不同library外,若果要學得深入學的精專,就要明白程式語言的運作原理。C++只要有C的基礎,而C只要有Assembly的基礎,只要弄懂pointer其他就很易明。Python也是一樣,只要明白它任何東西也是object的核心,它的variable和funciton scope是如何resolve,其他所有「進階」syntax只是飾裝的外衣。

市面上有很多Python課本,亦有不少online tutorial,絕大部份都是教你應用Python去寫code,沒有真正講解Python的內部結構。Python official document有提及,我由頭到尾叫做看過一篇,不過寫得太枯燥無味,內容零碎沒有系統,不適合一般人閱讀。這本《Programmer’s Python: Everything is an Object》是進階讀物,並不適合初學者,甚至不會你寫Python,而是從程式語言設計的層面,去解釋Python內裏的運作原理,換一句話說就是解釋那些double underscore builtin attributes有什麼作用。

這本書是I Programmer網頁的作者出版,這個網頁是我follow開講computer science專業級知識的網頁。網站上有這本書的試看版,差不多也有半本書的內容,因為實在寫得太好,所以一定要賣回來看全本的內容。這本書非常冷門,不要說一般書店或網上書店沒有得賣,連加拿大Amazon也沒有入貨,更不要說網上沒有盜版pdf,我要特地去美國Amazon訂購回來。

這本書有沒有實際用處?很難講。日常寫Python程式,其實不需要理會它如何運作。看完這本書後,讓我懂得欣賞Python設計的巧妙。若果對程式語言設計有興趣,這本書亦講述很多程式語言設計理論,對日後學習其他語言會很有幫助。

機動戰士高達NT Mobile Suit Gundam Narrative

笨大落重本開發獨角獸高達的模型玩具,又出Perfect Grade又出場台一比一,還有敵役角色新安洲和新自護號。舊模重用改色再出多幾次,是笨大的一貫有錢賺到盡的營銷策略。不過只是出外傳小說漫畫,很難令高達迷甘心請願付鈔,捧多隻相同的玩具回家供奉。拍一套高水準的劇場版《高達NT》,讓金色獨角獸與白色的新自護打多次,咁玩具模型改色先出得名正言順。

《高達NT》全名叫敘事高達Narrative Gundam,我有理由懷疑取名Narrative的原因,只是簡寫可以用NT,觀眾下意識認為NT=Newtype新人類。故事改篇自外傳小說《狩獵鳳凰行動》,講述在試飛時暴走失蹤的三號機,在UC盒子事件完結後忽然重出江湖,還是引來聯邦,羅商會,帶袖殘黨來追捕。劇名既然叫得做NT,預咗繼續鬼扯新人類和精神骨架的超能力。UC都係最後一戰變身新人類高達神,這套的戰鬥都由頭到尾係超級系,傳統軍武派的高達迷,一定插到套戲飛起,大嘆福井被富野精神污毒了。玩下福音戰士中初號機同化駕駛員,又玩人類靈魂下載進入高達長生不老。雙蛋剎那過來NT就可以成日講「我係高達」都冇人覺得佢有語病,因為幽靈女主角Rita真係變了鳳凰高達。至於通街都係新人類,機體戰鬥力通脹,劇情同上隻犯駁不合理,則只是一般續集常見的毛病。如果上集UC中新自護有今集咁強,明明有多隻做乜收埋唔拎出來打獨角獸。

如果唔當呢套係高達,接受了新人類那些鬼扯能力,又無視與前作設定不合理之處,其實這個故事都幾好看。三個主角兩女一男有新人類能力,預視了殖民星撞落澳洲悉尼,被譽為奇蹟的小孩。在Z年代被泰坦斯收入新人類研究所,兩個女仔為保護個男仔,一起講了一個大話,結果三人各散東西。個男仔做不成新人類,過著平凡人的幸福,不過都係做機動戰士機師。一個女仔當了新人類白老鼠,最後同變了鳳凰高達。另一個女仔就被羅商會收養了,用她的新人類能力當預言巫女,坐上羅商會第二把交椅。同一個講大話事件,在戲串重覆描述多次,每一次描述都發掘出更多真相。最後用新人類威力召喚死者,三個終於解開多年心結,拍得幾感人。今集的奸角相比下寫得非常差,紙板癲佬壞人一個,目標就只要毀滅地球。明明說他是馬沙備份的失敗品,為什麼不是金色頭髮又沒有載面具,成個MK不良少年咁款,唔知係邊度彈出來率領帶袖殘黨。同埋點解帶袖殘黨死極都仲有,咁大隻新自護號又收埋在那裏?

劇場版如果只是抄冷飯得三號機一隻高達,笨大也未免大過缺乏誠意。今集有台新高達RX-9,又係唔知係邊度彈出來。說是開發Nu高達的驗作機,被羅商會入手後大量加入獨角獸的黑科技,全身精神感應骨架和NT-D系統等。官方歷史那邊廂才說把獨角獸一號和二號癈棄封印,這邊廂又弄出一台與獨角獸規格的高達,又看看官方歷史如何補鑊,如何函接F-91和V高遠沒有神感應骨架黑科技的未來。主角高達RX-9人氣不高,可能設計本身沒有什麼特色,好似把Rx-93同Rx-0加起來除二。不過核戰機成隻雀咁就真係好低能,女主角成日話自己想變雀仔,你都唔駛整隻咁醜樣嘅核戰機來讓她完成心願。

明明有套海盜高達漫畫係度,故事正戰鬥勁主角機又型,硬係唔拿來改篇拍動畫,拍埋晒NT高達這種爛片,把宇宙紀元的官方歷史弄得經千蒼百孔。笨大你是否打算殺了高達這隻會生金蛋的鵝?

海邊小鎮Tofino渡假遊

位於溫哥華島西端的海邊小鎮Tofino,風光如畫生活悠閒,是長週未渡假的好去處。從溫哥華市出發,車程大約五個小時,其中一半時間花在乘搭汽車渡輪上。在Nanaimo落船後一直向西走,穿過溫哥華島中部的山脈和環太平洋國家公園(Pacific Rim National Park Reserve),沿途景色有山有水十分優美,又是九曲十三彎上上落落的山路,不愧為加拿大最美麗的駕駛路線之一。雖然駕長途車有點辛苦,但那揸段路絕不會覺得悶。別人去Tofino旅行,最常見的行程是滑浪,出海觀鯨和浸天然溫泉。我十幾年前去Tofino已經做過,今次帶小朋友以輕鬆渡假為主,我們的節目是住RV,行森林行沙灘,一些適合小朋友的活動。

來往溫哥華島的汽車渡輪

駕車穿過國家公園

Tofino是遊客區,酒店價錢比較昂貴,想便宜可以在國家公園露營,不過我們五月去時天氣還冷,有小朋友不適宜露營,怕會冷病,我們選擇了另類的住宿住RV,比酒店平少少,最緊要有暖氣。RV是露營車,有房有廚有廁,麻雀雖小五臟俱全,可以說是一間流動的房子。不過我們租的RV只有拖卡,長期定泊在營地出租給遊客。我們的營地Crystal Cove離Tofino五分鐘車程,主要是RV park和cabin,但也有幾輛不動RV出租。Cabin是非常豪華的木屋,向海有私人hottub的那幾間,價錢仲貴過住靚酒店。

看海的坐椅

私人沙灘

營地有個半私人沙灘,基本上是公眾沙灘,但隨了沙灘附近幾個營地,只有很少公眾停車位,所以沒有外人。五月天氣還很凍,加上長週又很大風,太平洋水溫又一年四季都冷,因從北極向南而下的水流,所以我們沒有游水,只是在沙灘玩沙。不過有些鬼仔鬼妹小朋友不怕凍,照樣在沙灘上玩水游水。住RV是一個特別的體驗,阿仔走上走落就最開心,最重要是在有廚房,BBQ爐和營火盆。住酒店一定要出街食,住RV可以自己煮食,省回一筆,反正Tofino晚上也沒有地方可以去。晚飯後在營地起營火玩燒棉花糖,行出去沙灘在沒有光污染的夜空看星星,看點書早點睡覺,很健康。

住RV露營車

一廳一房

平時營火通常買包炭來燒,今次住RV要用燒木頭。營地免費提供一份火木,RV有把大斧頭,我要自己劈柴起爐。睇電視見人劈柴好似好容易,原來都要慬得竅門先劈到。最初我劈極都劈唔開,睇隔離營個鬼佬點劈偷師,原來劈柴不是自己用力,是要雙手舉起把斧頭,用斧頭自身重量的momentum去劈舊木。只要落斧雙手夠定夠直,舊木就應聲一劈而開,斧聲清脆利落,十分有成功感。除了燒棉花糖外,我們還烤栗米,用錫紙包住放在火旁,同碳燒的烤法一樣,不過木頭烤出來特別香。用木烤香過用碳烤,用碳烤香過煤氣爐,煤氣爐又香過電焗爐。

劈柴

燒棉花糖

營火大會

我們今次的行程,可以用四個字來形容,遊山玩水。Tofino附近的環太平洋國家公園,有長達十六公里的海灌,亦有古木參天的千年森林。除了少部份地區開發作露營營地外,國家公園是保育大自然的處女地。在國家公園修建了一條棧道,讓遊人可以走進森林,感受一下真正樹林的氣息。棧道分南北兩個圈,每個圈大約一公里長,慢慢行可以一個小時行一個圈。入到樹林聽到很多雀島聲,好彩的話還可以見到野生動物,如熊或狼,不過我們見不到。棧道沿塗有展示牌介紹不同的森林知識,原來新樹會在倒下來的樹幹長出來,然後落地生根用舊樹作養份,要經過幾百年舊樹才會被完全吸收。在森林見最大的一棵樹有成千歲,要五個人人手牽手才可以把它圍著。森中棧道都很容易行,那是一個與文明隔絕的世界,走完後有很禪的感覺。

千年森林

林中棧道

Tofino長灘,水不清但沙幼,風高浪急,是北美大陸首屈一指的滑浪勝地。我們去了行長灘,帶了小朋友玩沙的玩具,阿仔玩沙玩得很開心,執下貝殼起下沙堡,同普通沙灘玩沒有分別。十六公里長的沙灘,我們大慨只用了一百六十米。不過長灘上好多人玩滑浪,見他們扒下扒下游出去,等個靚浪來就站在滑波板上,乘風破浪衝回沙灘。最勁的人滑得很有型,還可以裡浪頂凌空跳起來,不過我見大部份人站不過五秒就跌落水。五月氣溫還是有點冷,沙灘上有不少人生火圍爐取暖,弄得成個沙灘很大煙,破壞了太平洋風岸的美景。如果要游水玩沙,我寧可回營地的半私人沙灘,除非滑浪否則不建議去長灘,打完卡拍完照可以走人。

藍天碧海

滑浪的人

在Tofino隔著國家公園的另一端,是另一個小鎮Ukulele,此鎮比較少遊客,多是本地人在此工作生活,餐廳的價錢亦大眾化些。Ukulele有一段景色很美的Wild Pacific Trail,在一個差不多四面環海的半島上,源著海邊懸崖建成的行山徑。比起Tofino那邊的長灘,這兒沿岸很多岩石和小島,巨浪拍打著激起浪花很壯觀,好似日本片東映的片頭。行山徑一圈二點六公里,二個小時輕輕鬆鬆行完,全程大部份都在樹蔭下行,不怕太陽曬行得辛苦。每隔一段路就設有長椅和觀景台,遊人可以坐下來休息觀浪。半島的最尖端有一座小小燈塔,未建燈塔前這兒被稱為太平洋的船隻墳場,大帆船年代很多船被巨浪衝埋岩石撞沉,據說水底下還有未被發現的沉船寶藏。來這兒除了觀浪外,還有機會見到鯨魚,遷移季節會成群游過燈塔對出的海面,不過我們去時並不是遷移季節。

燈塔

觀浪

原本天氣報告遇測長週未會下雨,很擔心落雨要困在營地裏,沒有得去樹林和海灘現。好彩星期六日兩天都天晴,只是隔中陰天有雲,星期一才下起大雨來。那天主要駕車從Tofino回來,下雨只是山路開車要開慢些,沒有影響到我們計劃好遊山玩水的行程。

權力遊戲 Game of Thrones

長達九年的電視劇王朝,終於在一片唾罵聲中落幕。儘管《權力遊戲》開創以拍電影的手法和成本去拍電視劇的先河,大結局更沖破HBO有史以來的收視記錄,可惜在一眾影迷心中,這已經一套爛尾的劇集,沒有多少剩餘的品牌價值。除非原作者George R. R. Martin在有生之年寫完成套小說,然後HBO把第七第八季砍掉重拍,否則一切《權力遊戲》前傳外傳都不會很受歡迎。

我不算是很忠實的影迷,至少在兩個月前,我連一集《權力遊戲》還未看過。《權力遊戲》第八季大結局,大慨是可以比媲Marvel電影宇宙End Game的盛事,身邊不少朋友都是影迷,可以算是我們這一代的集體回憶。美劇有一個通病,因為是逐季製作,很多開頭很好看的劇集,最終都是爛尾或是斷尾收場。對於我這類不知道結局不安樂的人,追美劇沒有看日劇韓劇甚至無記垃圾劇看完的暢快,尤其是經歷當年《Hero》和《Lost》的慘痛教訓,近年已經很少看有連續故事的美劇,只會看每一集或幾集完的短篇劇集。《權力遊戲》終於拍到結局,可以一次過補完之前的七季,與全世界一同見證大結局。每個星期一回到公司,好似小學雞和同學仔講卡通般,與同事討論昨晚最新一集的劇情。

頭六季的確很非常好看,我以一晚看兩三集的速度,在一個月內極速看完。被廣大的世界觀設定,豐富複雜的情節,深刻的人物吸引。一個又一個估佢唔到的劇情發展,以為係主角的阿爸第一季被砍頭,血色婚禮,大孖的大起大跌重拾人性,侏儒死裏逃生,二世祖皇帝的無能,龍母的東征西討,變態佬玩禁室培育,兩個雜種之戰役,全部情理之中意料之外,成為讓影迷津津樂道的佳話,不禁佩服原作者的想像力。性與暴力更是《權力遊戲》的標誌,劇情要多黑暗有多黑暗,畢竟想要爭奪鐵王座者,都不是善男信女,政治本來就是黑暗,軍事更是兵不厭詐。

第一季開始拍時作者出版了五本小說,到今天依然還只有五本小說。第六季以後要編劇自行創作補完劇情,初時還有第六本小說的初稿可供參考,細節上開始有些甩漏,但重要事件沒有走樣。第七季劇情不合理的問題開始浮現,無啦啦彈個新奸佬出來,憑空變出成隊艦隊。如果鐵生島有咁多隱藏兵力,一開始就有資格去爭奪王座,不用幹當海盜搶劫北方等沒出色的勾當。至於第八季實在讓人失望,兩位編劇應該終生禁止寫劇本,網上任何一個吹水的結局版本,都比現在把出來那個結局有說服力。所以以前《權力遊戲》吸引之處全被欠奉,將史詩式鉅著簡化成好人打壞人,好人有主角威能開金手指的低能故事。

要吐嘈第八季的劇本有多差,每集都可以至少寫千字文。第三集舖了七季伏線打夜王,結果行軍佈陣完全不合理,好人死極都死唔去,然後一個唔知佢點行埋去,阿妹就一刀殺死夜王,阿妹至少變下臉都好丫。打夜王雖然畫面暗亂拍,至少還有幾場熱血打鬥睇下。之後打西后最後一役,龍的威力時強時弱,上一集才一枝大箭殺死條龍,下一集條龍就不怕大箭開無雙。龍母帶幾個卒仔去城門前同西后講數,西后又唔開門衝隊騎兵去殺了她。最後兩集龍母黑化發瘋屠城,莊雪無啦啦一劍殺死她。阿妹當路人行來行去,無啦啦有有隻不怕火的白馬。矮仔弱智了兩季,最後眾人又聽他亂講,恭請破仔當皇帝,還搞個小圈子選舉。不過全世界好似忘記了,三眼鴉不老不死,破仔勁過習維尼,可以做永恆的國家領導人。睇第八季講得最多一個句就係「無啦啦」,總之劇本要多犯駁有多犯駁,要多不合理有多不合理,難為兩個編劇夠膽厚臉皮,仲夠膽會集播完後講劇情心得。

據聞那兩位被全世界問候娘親的編劇,已經版迪迪尼重金禮聘,去寫新《星球大戰》三部曲的劇本。各位觀眾除了記得聯署要HBO重拍第八季外,還要聯署迪迪尼炒了那兩位編劇,他們已經毀一個電視經典,不要再沾污另一科幻電影經典。

世紀大辯論 – 資本主義 vs 共產主義

上個月Jordan Peterson對Slavoj Žižek(齊澤克)的世紀大辯論,可謂近年知識份子界難得一見的盛事,據說黃牛飛甚至炒高至三千加元一張。辯論的題目是《快樂:資本主義 vs 共產主義》,不過其實完全不似辯論,亳無火藥味,內容亦離題萬丈,倒不如說是兩位學者在開脫口騷。雖然如此,卻無損這場辯論的可觀性,讓新思維為腦袋充電。

齊澤克是著名左翼政治哲學家,雖然成名已久,但我卻沒有認真看過他的著作。香港獨立媒體不時有本土左派翻譯他的文章,我每次想看但不明白他在寫什麼,總是一堆專有名詞撻死人。Jordan Peterson是近期右派紅人,多倫多大學心理學教授,藉批評近年左膠流行的性別身份議題上位,在這場辯論之前我完全不識他,盡管我自認是政治和經濟的大右派。

辯論的詳細內容我不在此重述,有興趣可以看下面的Youtube視頻。香港主流傳媒沒有多少報導,大慨怕嚴肅哲學辯論趕客,頂多只有明報信報各有一篇文章。反而網上媒體有很深入報導,這是不用受制於紙媒字數限制的優勢。立場新聞有非常中肯的講稿中譯,而HK01則一貫其左翼立場評論,為齊擇克深入淺出地解話,對Peterson則口誅筆伐。

兩間網媒的結論,與外國主流傳媒相若,都是認為Peterson技遜一籌,齊澤克大獲全勝。不過我聽Youtube錄音時,感覺上覺得Peterson贏了。Peterson的英文易聽有先天優勢,他的論點很老生常論,但勝在程度淺普通人易明。齊澤克一來英文口音很重,聽起來十分辛苦,印象份大打折扣。二來他講得很深,一般人基本上聽不明白,只記得他的爆笑精警金句,捉摸不到他論點的默絡,我有讀過政治哲學,都要重看講稿才明白他的論點。若果以中學雞辯論比賽的規則來定勝負,Peterson係贏到開巷,他針到馬克思《共產主義宣言》的攻擊,齊澤克基本上完全避而不論,反而齊澤克肯定了資本主義是優點,然後集中火力批評現今資本主義在實行上的問題。Peterson在回應中很明確地指出,那些問題不只是資本主義獨有,共產主義一樣也有那些問題,甚至會更加嚴重。

不過論思想的深度與創新性上,齊澤克贏Peterson幾條街。Peterson不是哲學家的底子,他頂多只有大學生的水平,很明顯他臨急抱佛腳,溫書讀資本主義和共產主義入門。反觀齊澤克是真正的哲學大師,藉這個場合宣揚他的思想,連Peterson都讚他不要自認馬克思學派,應該自立門戶開創一個齊澤克學派。盡管齊澤克不是直接回應Peterson,他提出對現今資本主義社會和左膠的批評,Peterson亦大表讚同,只能很無力地重覆他自己版本的「修身,齊家,治國,平天下」。到最後自由吹水環節,兩人識英雄重英雄,大家一起投訢文化左膠騎劫主流價值觀。

看完這場辯論,我對Peterson依然沒有多大興趣,覺得他冇乜料到。反而我對齊澤克的想法有新的理解,至少在我眼中他不是左膠,我會想知道更多他的哲學論述。在知識文化界影響力的層面上,齊澤克肯定是這場辯論的贏家。

引延閱讀:
立場新聞「世紀大辯論」專題
HK01「Zizek VS Peterson」專題