All posts by hevangel

星空奇遇記:超域時空 Star Trek Beyond

star-trek-beyond-poster-1-hq

不知不覺新一代《星空奇遇》已經拍到第三集,雖說故事發生在新時間線的平衝世界,前兩集還是煞有介事地用初代元素為主線骨幹。今集終於拋開初代的包伏,全新的世界,全新的敵人,全新的故事。可惜故事的格局很小,並沒有把世界觀向前推進,只是一件偶然發生的獨立事件,大慨只算一集豪華版的電視劇集。

下文內有劇透,不過透了也無妨,反正故事一條直路,知不知道壞人的真正身份,也是照樣的看特效場面。

一個世紀前的U.S.S. Franklin遇險失蹤,失事流落未知空間的太空暗礁。聯邦放棄搜索救援,落難船員只有三人生還。可是天無絕人之路,竟然給他們在落難星球上,找到史前文明的失落科技,征服世界三寶。第一件吸星大法長生不老術,不過副作用是越失去人性變做外星人。第二件是機械人和無人機生產工廠,於是輕輕鬆鬆便擁有超科技大軍。第三件是不知名生化武器,不過啟動鎖匙不見了。要等過了一百年後,「企業號」剛好從不識貨的外星人處入手,壞人才設陷阱引誘「企業號」前來,搶奪鎖匙。其實只需要長生不老和機械軍團兩樣,便足夠壞人去征服世界,根本不需要那中看不中用的生化武器。

我一直認為《星空奇遇》的真正主角是「企業號」,連電影海報也是她的大特寫,怎料今集「企業號」在開場不久,便被無人機群擊沉,叫人有點失望。無人機群的戰鬥方式,有新鮮感很好看,用無數小型戰鬥機自殺式撞擊為攻擊手段,像利刀一讓把「企業號」的空間引擎切割下來,可以當科幻空戰場面的範例教材。不過無人機群與傳統《星空奇遇》的世界觀有點格格不入,太過超科技好像在看另一套科幻片。至於最後擊敗無人機群的方法,我能說那是主角威能,開大喇叭播搖滾樂然後無人機自爆,我是在看《Mars Attack》嗎?約克鎮太空城的設計,很帥氣但完全不實用。敵軍來襲時,太空城的民眾,走難的模樣得啖笑,咖厘啡完全不專業。最叫人噴飯的一幕,U.S.S. Franklin飛出河道,撞落大樓的花園平台,民眾一湧而上的情景,似小朋友在公園見到雪榚車一樣。

今集的人物描寫頗為簿弱,連艦長和洗樸的基情也欠奉。編劇把洗樸和醫生編成一對,他們從初代已是鬥氣寃家,放在一起互相鬥嘴有笑位。被壞人捉了當人質的船員,完全沒有什麼發揮空間,洗樸女友和駕駛員Zulu的最大作用,就是為觀眾解釋劇情。工程師Scotty和外星孤女一對,大慨是唯一有正常發揮機會的角色。Scotty從初代以來性格便很geek,將他和其他「正常人」放在一起就已經很搞笑,配上新角色我行我素的外星孤女,產生有很有趣的化學作用。至於壞人的描寫接近零,什麼反對和平理念,人類要鬥爭才會進化,向聯邦復仇只是空口說白話,反正就歸類為征服世界的樣版壞蛋。

第四集《星空奇遇》已經落實開拍,希望下集導演著重科幻元素,不要再拍沒頭沒腦的特技片了,看特技片不用看《星空奇遇》。

Stork BB宅急便

Stork Movie Poster

長週未親子時間,媽媽有事忙,於是兩仔爺去戲院睇戲,剛剛過了暑假兒童片旺季,只有剩下《Stork》這套CG卡通電影還在上映。看什麼影片我沒有什大所謂,最緊要阿仔看得開心。這套電影由華納出品,與《Lego Movie》同一動畫工作室,所以開場前送上Lego Ninjago小電影《The Masters》攝時間。一人一雞兩大武林高手過招,爭奪天下第一武術大師的名銜,很無聊但好搞笑,某程度上比電影本身還好看。

電影的故事取材自送子鸛的北歐童話,相傳送子鸛用口擔著白布載著嬰兒,從天上把嬰兒送到人間。隨著時代進步,送子鸛不再運送嬰兒,轉型當速遞公司,還發展成大企業。在一次意外中,公司明日之星的男主角白鸛,與被公司收養的人類孤兒女主角,開動封塵多年的BB製造機,於是他們一起展開一場把嬰兒送到父母家中的大冒險。

《Stork》是套不節不扣的小朋友電影,雖然故事中嘗試加添一些寓意,(如父母工作太忙錯過小朋友的成長,男女主角共患難見真情,大企業vs傳統社企等),但訊息只是停留在表層,觀眾不必深究有何含意。卡通故事不必合乎現實,所以請不要問BB製造機從何而來,亦不要問一夜間製造出成千上萬個BB會帶來什麼社會問題。

故事沒有壞人,非常和平,十分適合膽小的阿仔看。中段男女主角連同BB迫降雪山,原本以為狼群想吃掉BB,結果原來是BB太可愛,想搶了她回去領養。百變狼群可以變車變船,非常低能但好好笑,應該是電影中最重要的笑點。大奸角鸛企業CEO雖然是賺錢至上,但他也只是要把BB搶回去交給企鵝代養,沒有要殺死BB這些會嚇到小朋友的念頭。另外男女主角與企鵝的無聲大戰,因為BB睡著了不要吵醒她,是故事中另一重點笑位。

看完電影我問阿仔,想不想要個細佬妹,叫他不如寫封信去給送子鸛。個衰仔四歲半,思想卻很老積,竟然不受騙,回答說那是卡通不是真,細佬妹係從媽媽個肚出來,這算是聰明還算是沒有童真?

Thinking, Fast and Slow – Daniel Kahneman

71wvKXWfcML

 《快思慢想》早幾年十分流行,真假知識份子差不多人手一本,報章雜誌網媒不停吹捧,彷彿不說說系統一二,就會顯得自已見識淺薄。我不知道這本書大受歡迎,當中有多少「光環效應」,作者Daniel Kahneman被譽為「行為經濟學」之父,他的心理學研究人類的非理性行為,並因而榮獲諾貝爾經濟學獎。這本書是他多年研究的總結,以(相對)淺白文字寫的科普書藉。老實說,眾多大力推薦這本書的名人,我懷疑有幾多人真的從頭到尾把全書看完。這本書厚達500多頁,以作者的心理實驗為主軸,內容頗為枯燥。若果要介紹「行為經濟學」,我不會推薦這本書作入門,其他性質相近書藉,如Stumbling on Happiness,Predictably Irrational,Superforcasting或Nudge等,比較有趣易讀。行為經濟學的理論由Kahneman首先提出來,不計他發表的學術論文,這本書是最接近原文的第一手歷史資料。儘管出版商推廣此書為科普消閒書藉,內容深淺其實與大學的心理學課本相若,讀者要有心理準備。

書中提出的心理學理論,兩個相輔相成的思考系統,善於理性思考的慢系統,依靠直覺思考的快系統,在不同的環境因素下,人類腦袋天生的因果迴路,如何誤導快系統作出錯誤的判斷。作者當年初提出之時,無擬是極具震撼性的創新突破,推翻傳統經濟學理性人的假設,不然他也不會拿諾貝爾獎。今時今日再看,這些理論已經是常識的一部份,心理學課本指定的內容。若果只是想知道那些理論,花時間看這本書倒不如看Ted Talk,來得更有時間效率。打個比喻說,數學科教微積分,絕大部份學生只是背熟公式,懂得考試如何應用來計算答案便足夠,很少學生有興趣從first principle去證明那些公式,這本書就是「行為經濟學」的first principle論證。

每個人都應該學習「行為經濟學」,正如讀哲學入門認識邏輯謬誤一樣,認清楚心理因素導至的思考錯誤同樣重要。理性的「慢想」十分懶躲,當你肚餓,疲累,精神不集中時,便很容易讓直覺「快思」主導決策,墮入虛構的因果關係直跳結論,轉移視線回答容易答的問題,「船輜效應」思想被框框定格,太多資訊花多眼亂,錯誤的統計學直覺等等思考陷阱。有些情況無何避免要作出即時決定,只好儘量減少依賴「快思」的速度,把決策權外判給思考公式,讓「慢想」可以事先從詳計劃。對自己要多訓練多用「慢想」,但對付別人則要令他「快思」,控制他獲取你想要的回應。應用上好的方面,政府使用心理因素手段,鼓勵人民多點退休儲蓄,登記器官捐贈,戒煙等等。壞的方面,大公司應用在銷售手法上,讓我們乖乖地從荷包,掏錢出來買那些沒有用的東西。不想作出錯誤的決定,首先要認識「快思」的陷阱,才能有效警剔自己不要誤墮其中。

題外話,《快思慢想》中文版的翻釋水平,在網絡上掀起了軒然大波,譯者洪蘭在台灣是著名教授,可是她的翻譯水準實在叫人不敢恭維。不只是手民之誤等級的不小心譯錯,而是她完全錯誤理解原文,甚至無中生有亂加新意思。有興趣的朋友,可以看以下幾篇文章,自行定斷誰是誰非(懶人包洪蘭事件不要臉的劣譯)。看中文版的朋友要小心了,若果英語能力許可,建議看英文版為佳。(我自已是聽有聲書版,前前後後聽了好幾個月,因為內容真的很悶,最後要1.5x倍速播放,才有耐心聽完全書。)

作者簡介:Daniel Kahneman,美藉猶太心理學家,2002年諾貝爾經濟學獎得主,行為經濟學(Behavioral Economics)之父。

Gundam Build Fighters Try Island Wars 高達創戰者TRY 島上熱戰

Untitled-69

何時才有《高達創戰者》第三季呢?不知道,不過笨大不會放過任何打廣告賣玩具的機會。去年的《高達創戰者TRY》人氣高開,玩具賣過滿堂紅,今年的《鐵血孤兒》叫好不叫座,於是在暑期賣玩具的旺季,乘機推出一集四十分鐘的OVA《島上熱戰》,順便替新機體賣廣告。OVA嘗試把第二季的故事連接上第一季,矢島開發第二代粒子系統,邀請所有主要角色去海島實驗室試玩,剛好遇上嶺司的女兒從異世界來地球玩耍,粒子系統失控暴走,重現第一季結局的情況,引發高達舞台實體化,殖民星撞地球的危機,於是一眾主角便齊心協力,打爆結晶體拯救地球,順便教教小女孩玩高達的樂趣。

機體設計明顯遷就生產模型,用舊模換件換色翻印。主角三人小隊應該是換了改良機體,不過老實說我看不出有什麼大分別。強子的強人改良型是唯一看得入眼,敵方大佬機(即被奪去的新系統的試作機)是Z高達和命運的混合體,很沒有個性。泰坦斯版超級文奈只出了一個鏡頭,這樣賣模型實在太無良,明顯是主攻一眾宅男市場。詩雅的雙蛋Qant只是改塗綠色,而ZZII只是把ZZ的手腳裝在ZII身上,完全沒有創意,這樣交行貨怎能叫人掏錢買模型?

這集的對戰場面非常馬虎,完全沒有戰術可言,一味硬碰硬鬥氣勢。第一戰TRY小隊對強子,感覺只是在重覆第二季的戰鬥場面,雙方互喊招式然後閃光。最後一戰眾人打大佬,順便打一大堆雜魚機,製作組十分偷懶,全部雜魚機同一模子。中佬是兩台重高達和三台地圖炮,不過AGE的母艦出場有點意外。眾人打不贏打大佬機,於是所有機體與Burning高達合體,召喚出SD金龍高達的full-size版,看到我完全滴汗,這已經不算是砌模型,根本就是變魔法。

《創戰者》一直以來的核心價值是快樂對戰,大戰打完謎之小女孩竟然說愛上高達對戰,可是她根本是在開外掛犯規,力量極端懸殊下單方面大屠殺,請不要鬼扯什麼快樂對戰一較高下了。說不定小女孩其實是心理變態,喜歡當大魔王破壞世界多過認真的遊戲競技,第三季就讓她名正言順當奸角,帶領異世界高達大軍來侵略地球,名稱也想好了,叫《小女孩之逆襲》。笨大還是乖乖地用心畫新高達吧,搞這些亳無誠意的炒冷飯OVA,是賣不到玩具模型的呀。

SQL Clearly Explained 3rd Edition – Jan L. Harrington

sqlclearlyexplained

學習架設網站,要一步步慢學,不要妄想一步登天。原本學完Ruby後,打算直接學寫RAILS,然後發現自已不懂SQL。沒有SQL的基本功夫,不能有效地架設網站,任何網站都要用database來儲存資料啊。說起database程式,很多年前我學過dBase III,在中學電腦科被迫學了一個學期。當年覺得學一個過時的軟件很浪費時間,想不到database程式設計的最基本慨念,廿幾年後會從封塵的記憶中找出來有用。

我挑選了好幾本學習SQL的書,思前想後到底用那一本好,最後決定用這本SQL Clearly Explained為主幹,再用兩本O’Reilly的書為輔助參考。很多SQL的書只會教某一個SQL server的應用,很容易見樹不見林,分不清到底那些是SQL語言本身,那些是某一個server的syntax。這本書從SQL標準入手,第一章不是教你安裝軟件,而是很有系統地講解relational database的理論。只要基本知識清楚明白,學syntax很簡單,可以邊用邊學,查document摸摸下就上手。那兩本O’Reilly的書,一本教SQLite,另一本教MySQL,兩大常用的database。那兩本書不是好的入門書,內容太著重講syntax,不過卻是十分有用的reference書。

51vowxhiiul learning_sql_2nd_ed

Relational database的理論,說難不難,說易不易,領悟到就一理通百理明。Database是什麼,不外乎一堆table。Table就好似Excel的spreadsheet咁,打橫打直一行行,每格就是一項資料。每一行有一格係primary key,用來look up那一行。一行之又可以有foriegn key,連結另外一個table的primary key,表明table與table之間行與行的關係,謂之relation是也。檢查搜尋database只有6個基本操作,所有都只是萬變不離其中。6個操作包括,filter行(WHERE)或filter列(SELECT),把兩組行的行加起來(UNION),找出相同的行(INTERSECT),找出不同的行(EXCEPT),而最重要的操作是JOIN,即係連結起primary key同foreign key既relation。

此書的第二部份教SQL Syntax,實習第一部份的SQL理論。這本書的另一個優點,是書中附帶現成的database,一間二手書店的存貨買賣資料,不似其他書只講空談syntax。我把書中的例子輸入了SQLite檔案,並附上各table的csv檔案,有興趣的朋友可以在此下載SQL Clearly Explained Sample Database。學習SQL的次序,最先學搜查,如何在database中找出你想要的資料,其次學如何更新資料,最後才學如何建立設計database的table。所以有一個現成的database,再跟著書中的不同應用例子,學搜查很方便,事半功部。更新資料的syntax很簡單,有很輔助function讓你可以寫少幾行code,最重要的慨念是ACID transaction,說穿了就是multi-threads的synchronization problem,只是改了個好聽的acronym。設計table那一章教CREATE的syntax,不過我想沒有人會用SQL去直接起table,不是有其他GUI工具更好用嗎。起一個有效率的table是門很高深的學問,入門書教syntax只是教了table design的皮毛。

餘下的第三部份和第四部份,我只是快速略讀。SQL本身是一個turing-complete的程式語言,第三部份教SQL寫一般程式的syntax,只是我不明白有什麼人會用,SQL的PROCEDURE和TRIGGER只是search filter的輔助工具,真正要做heavy lifting資料運算,為什麼不把資料讀出來後,用host功能更強大的programming langauge去process。第四部份教SQL中XML的功能和Object Relational Data Model,不過除了Oracle或Microsft那些商用級的server,SQLite和MySQL都不支援這些功能,不過要搜查更新XML,用DOM不是更方便嗎?我想不到有什麼理由,要把XML直接當數據儲存在database中,為什麼不先解讀了XML中的資料,再有系統地儲放入table中呢?Open Source的server中,只有PostgreSQL支援Object Relational Data Model,簡單來說就是把OOP中的object儲存在database中,懂OOP的人學Object Model很簡單。Object Relation就在table的一格內,可以儲存一個object,或array,set等等,原本table的一格只可以儲存一個數值。另外一行可以用pointer直接link去另一行度,比用foreign key更有效率,因為不用做search。

學完SQL,忽然引起我對database的興趣,暫時放下RAILS,(反正要等RAILS-5的新書出版,沒有理由走去學RAILS-4),決定先學其他No-SQL database,看看還有什麼其他儲存資料的其他方法,才決定網站該採用那種database最好。