Rogue-Like 與 DCSS

一開始是看到 Pixel-Dungeon 開放原始碼在 github watabou/pixel-dungeon 上,網頁的簡介提到 Rogue-Like,不明白是什麼,就去 Google ,然後就找到這篇神文:[備忘][轉貼]一個經典但被遺忘的遊戲類型–roguelike及dungeon crawl stone soup介紹 。透過這篇文章,也才知道之前在 Jedi 網站上看過的 NetHack 就是同類型的遊戲。

整篇看完,就試著去找 DCSS,DCSS 在 ubuntu 裡,可以用 sudo apt-get install crawl crawl-tiles 來安裝;而在 archlinux 裡,則是在 AUR 裡,名字叫做 stone-soup-git,得用 yaourt/pacaur 來安裝。除此之外,DCSS 網站 上也有 Windows 版本。

電影流水帳(2014/7/9~2014/7/23)

Rachel McAdamsRachel McAdams ,About time 的女主角。

  • About time (IMDB, Wikipedia),中譯:真愛每一天。原本以為是愛情小品電影,看了之後發現並不是如此,愛情只是一部分。故事很溫暖、平實,不時穿插詼諧、有趣的小插曲,雖然主角跟他父親有穿越時空的能力,但並不是科幻故事。最後是很平凡的告白,告訴我們要好好的品味、享受每一天。片名如果是「珍愛每一天」或許會更好,這樣不會讓人誤會,片名如果直譯為「關於時間」的話就有點遜了。
    主角父親在電影裡出現的部分不多,可是跟兒子的親暱很讓人感動、窩心。關於穿越時空的能力,在一開始他並沒有透露太多細節,而是讓主角自己去體會之後,然後等他回來問才告訴他。這部分可以看出父親是刻意而為之,畢竟有些東西是要體驗過才能深刻的學到。主角母親是那種冷面笑匠,對話不是讓人捧腹大笑,但會讓人會心一笑,很有趣。總之,每個角色都是一時之選,我覺得很好看的電影。
    P.S. 男主角讓人感到面熟,如果提到哈利波特裡的比爾衛斯理,就有印象了。
  • Homefront (IMDB, Wikipedia),中譯:最後防線。不喜歡這部電影,只看了大概 30 分鐘就放棄了。主角是緝毒局探員,在臥底破了大案之後,就決定退休,他回到太太以前居住的小鎮跟女兒一起生活。他一直教導女兒要自己保護自己,某次女兒在學校被人找碴,她已經警告過不要繼續了,可是那小鬼還繼續挑釁,於是那小鬼就被揍了。小鬼的怪獸家長因為小孩受傷,就去找主角碴,其實根本都是那家長跟小孩的錯。主角原本想盡可能不惹麻煩,可是那家長跟他哥哥一直去找事,可以猜到最後一定是主角為了保護女兒跟家,完美 KO 家長,然後找緝毒局來搞定(家長跟他哥,一個是吸毒,一個是製毒、販毒)。
    個人不喜歡這種太機車、太挑動人情緒的故事,會讓人不自覺的擔心未來會遇到,雖然說心裡知道一樣米養百種人,應該做好準備,但就不喜歡這樣。
  • Pompeii (IMDB, Wikipedia),中譯:龐貝。故事很簡單,是一個跟階級有關的愛情故事,男主角是奴隸,女主角是富商的女兒,女主角因為參議員糾纏而返回龐貝,豈料參議員要跟女主角父母做生意,所以也跟著來到 龐貝。參議員看到女主角喜歡男主角,自己得不到,就以權力與武力要脅。後來,火山爆發了,男主角為了救女主角就跟參議員火拼,最後結局不是順利救出女主角,過著幸福快樂的生活,而是死在一起。
    電影裡的熟面孔蠻多的,像福爾摩斯2裡的莫里亞提教授、駭客任務裡的 Trinity、冰與火之歌裡的雪諾、殺客同萌裡的女主角 Baby Doll,反派主角也很面熟。我個人覺得女主角的女僕遠比女主角來的漂亮,可惜太早領便當了。
  • The Expendables 2 (IMDB, Wikipedia),中譯:浴血任務2。很多大牌動作明星一起演的電影,我沒看過第一集,之前有耳聞說可以看看的動作電影。
    一開始就是一個拯救任務,救完以後,李連杰就退休了,後面沒有他的演出了。任務結束以後,隊伍裡的一個小伙子 Billy the Kid 跟史特龍 (Barney) 說月底之後就不想做了,Barney 尊重他的意思。然後布魯斯威利 (Church) 就出來要脅 Barney,讓他幫忙出一個任務。Church 派 Maggie 跟他們一起去,這次任務不是很順利,Vilain 半路殺出把東西搶走,並且在眾人面前把 Billy 做掉。Barney 很不爽,都已經聽你話把東西給你了,居然還把人掛掉。於是就去追擊 Vilain 進行復仇 。最後,在 Church、阿諾 (Trench) 跟 Booker 的幫忙下,當然就是順利解決 Vilain,故事結束。電影裡不時有穿插一些小笑點,還挺有趣的,像是 Trench 老是說 I’ll be back 就被 Church 打臉說,不要再 back 了,而 Trench 也還擊說,又不是每次都 die hard 。
    電影裡的女主角 Maggie 算是一個小亮點,是由中國女演員余男飾演,名字特別,經歷也特別。她主要都在國外發展,可是我之前都沒看過她,浴血任務 2 是我第一次看到,我想可能是我看的電影太少了吧。
  • 逃出生天 (IMDB, Wikipedia),英譯:Out of Inferno。火場逃難片,片子裡有兩個人特別讓我印象深刻,第一個是一個勢利的媽媽,第二個是一個工人。勢利的媽媽準備在那大樓開店,她跟老公、女兒一起去看裝潢的情況,火災發生時,外面已經一群人在逃了,老公也帶著女兒叫著快走了,她還不死心,留下來拿著衣服滅火。老公跟女兒跑到外面發現她沒跟上,老公又回頭找她,結果就跟女兒錯過,找不到女兒,後來老公也死掉。最後是有找到女兒,但卻失去了老公。第二個是工人,消防隊員找到吊臂來把人接下去,第一批人下去後,消防隊員根據當時情況,判斷要等一下,他不聽(雖然他是有理由),就急著往吊臂跳,結果賠掉自己跟朋友的命。在火場裡,逃生第一,留得青山在,不怕沒柴燒,第二就是要遵從消防隊員指揮,不要想自己聰明,消防隊員經驗比起一般人多太多了。
    故事說的就火場逃生的故事,題材不錯,特效也不錯,但我自己是覺得電影節奏沒有掌握的很好,在有些地方顯的節奏太慢,有些地方就很讓人緊張。整體來說,還可以。

電影流水帳(2014/6/27~2014/7/8)

Scarlett Johansson當然 Scarlett Johansson 的演技沒話說,像是 We Bought a Zoo 、The Nanny Diaries 等等,不過我還是最喜歡她黑寡婦的造型,在鋼鐵人二後面的那幾下真的很威,希望以後有獨立的黑寡婦電影 (查找 IMDB 時,發現真的已經有宣佈這消息了,只是不知道何時會拍成)。然後她之前居然有幫海綿寶寶電影配過音,角色是那隻暴牙的松鼠-明蒂,有點意想不到。

  • Her (IMDB, Wikipedia),中譯:雲端情人。只能說這部電影散發出來的寂寞感真的很強大。
    Theodore 跟太太分居以後,就陷入了低潮,低潮的這段期間,好友 Amy 持續的鼓勵他走出來。但你知道的,有時候低潮時,就是只想一個人,所以 Theodore 就多是迴避或是笑著拒絕。
    這天他一如往常的下班,然後看到有作業系統的廣告,就買回來安裝了。買回來以後發現這名字叫 Samantha 的作業系統很有趣,能聊天,能幫忙處理事情,也能貼心的安慰人。經過一段時間的相處,Theodore 走出了低潮,然後發現他愛上她了。所以他會帶著她 (嚴格來說是一個附有攝影鏡頭、麥克風與喇叭的遠端裝置)去餐廳吃飯、旅行、逛街等等的,甚至語音性交。之後,Amy 跟她老公也分手了,她也裝了這作業系統,只是性別是女的,算是手帕交。因此當 Theodore 跟 Amy 說,他愛上了 Samantha 時,Amy 完全能理解。
    Theodore 完全走出低潮之後,決定結束跟太太的分居關係,於是他約了太太出來,簽下離婚協議書。跟太太閒聊到現在狀況時,他說跟 Samantha 在交往,太太就爆炸了,跟我的關係你都處理不好了,你真的可以處理好跟電腦的感情?之後,不歡而散,Theodore 憂鬱了,他發現自己也搞不清楚跟 Samantha 之間到底是怎樣,開始刻意的閃避 Samantha。Samantha 感受到了,很難過,就跟 Theodore 說,你這樣我真的不知道怎麼跟你相處了。經過一番真情告白,把話說清楚之後,兩人繼續之前的關係。
    兩人經歷了風風雨雨,Theodore 的朋友也都能接受這段戀情了之後,他們一起去旅行。但這次旅行出現了陰影,Samantha 跑去跟某個哲學老師談話,並介紹給 Theodore,Theodore 吃味了。更之後,Theodore 發現 Samantha 同時跟許多人談戀愛,Samantha 聲稱自己跟以前一樣愛著 Theodore,Theodore 難以接受這樣的事情。到最後,Samantha 留下一封信,跟她的其他作業系統伙伴一起永遠的離開了。Theodore 跑去找也很難過的 Amy,跟她一起跑到屋頂看景,就這樣結束。
    還蠻不錯看的,但正在失戀的話,我覺得有可能會被這種寂寞感給淹死。
  • Turbo (IMDB, Wikipedia),中譯:渦輪方程式。勵志的故事,蝸牛 Turbo 無意中獲得了類似閃電俠的超能力,能以飛快的速度移動,這對蝸牛來說,是件不可思議的事情。Turbo 為了救哥哥 Chet 而移動到了一個生意不怎麼樣的 Plaza,認識了其他熱愛冒險的蝸牛,與製作墨西哥 Taco 的兄弟。Taco 弟弟 Tito 總是在想一些主意,試圖讓 Plaza 生意變好,這次他看到 Turbo ,就想去參加印地賽車。在跟周圍鄰居募款之後,就出發了。
    去到賽車現場,原本是沒辦法參加比賽的,也是啦,蝸牛是怎麼參加?? 但前屆賽車與現場觀眾都大力支持,最終印地賽車主辦單位還是答應了讓 Turbo 參加。在比賽的前一天晚上,Turbo 有點緊張的在賽車場到處逛逛,然後進到了前屆冠軍的車房,結果卻真正的認識了前屆冠軍的為人,他支持 Turbo 只是想要拉抬聲勢,讓自己更出名而已,並沒有 Turbo 想像的那麼好,Turbo 在此下定了決心。
    到了比賽,一開始 Turbo 因為對場地的不熟悉,跑的不怎麼好,直到維修時,其他蝸牛給他鼓勵與建議,他才跑出自己的步調,慢慢追上了前屆冠軍。最後幾圈,前屆冠軍使出奧步,Turbo 的蝸牛殼因此受損,跑速受到影響,但 Turbo 還是奮力向前,超越了前屆冠軍。前屆冠軍惱羞成怒,試著走比較危險的外圈,結果發生了連環追撞,所有車子塞成一團,Turbo 也失去了超能力。前屆冠軍推著車子,跟緩慢的蝸牛展開決戰,原本 Turbo 要放棄的了。當然,電影不會這樣演的,Turbo 在鼓勵之下,拼命獲得了冠軍。獲得冠軍之後,Taco 兄弟所在的 Plaza 也大大的出名,生意變得熱絡。
  • The Incredible Burt Wonderstone (IMDB, Wikipedia),中譯:名魔生死鬥。在 HBO 看的,中間有一部份沒看到,是說,網路上找到的電影海報怎麼沒有 Olivia Wilde 啊? 這才是亮點啊!! :-p
    就 Burt 跟 Anton 是魔術師搭檔,打滾多年,也累積了一定的成就,Burt 在光環壟罩下,忘卻了初衷,變得很自大、糜爛。Steve Gray 在這個時候出現,他的快速竄紅給 Burt 與 Anton 帶來威脅。Burt 與 Anton 試著以新戲法 Hotbox 想要挽回聲勢,結果卻導致兩人拆夥。兩人拆夥以後,Burt 也被炒了,再加上投資失利,完全一無所有,回到原點,兩人的助理 Jane 也轉投 Steve Gray 。
    接著,沒看到,但可以猜到是 Burt 受到鼓舞,痛定思痛,進而奮發向上。於是前老闆又找了他去他兒子的生日派對上表演,表演的很不錯。但機車的 Steve Gray 出來鬧場,這讓 Jane 看不下去而離職。
    前老闆的新飯店要找秀,所以就有選秀比賽,Burt 回頭找了 Anton 然後跟 Jane 一起挑戰讓觀眾一起消失的魔術。最後比賽順利的以這個魔術拿到秀約,Steve Gray 的魔術失敗,秀逗了。
    片尾的花絮就是他們進行這魔術的經過,還蠻好笑的,搬運的過程也太辛苦了,要先記好位置,幫每個人貼上貼紙,還要一個人扛兩三個丟到車裡,不小心敲到撞到的地方,得補粧等等的才能完成這魔術。
    整體來說,普普通通。

The Lost Art of C Structure Packing

找 C/C++ padding 資料時找到的文章:The Lost Art of C Structure Packing

講解 C/C++ struct padding 講的很仔細。C/C++ 編譯器會為了記憶體對齊而把變數放到偶數位址上,放到偶數位址上的好處是存取快速,而且編譯出來的指令也較少。但像 char 型態的變數佔用的空間不一定會是偶數,所以為了對齊而空出來的空間就是所謂的 padding。例如:

裏面的 pad 就是浪費掉的空間。

除了 padding 還有提到 pack,我以前對 pack 也不太了解。看完這篇才知道 pack 的意思,pack 就是告訴編譯器說,不要把變數對齊到偶數的位址上,當然,這樣做之後,編譯器就不會作 padding,但代價就是效能。在 gcc 裡,用 #pragma pack 就可以。

最後作者的建議就是:

  1. 除非你知道自己在做什麼,否則沒必要使用 pack。
  2. 安排 struct 成員時,先放指標類成員,再依照型態所佔用的空間大小來依序擺放,這樣可以避免不必要的 padding。

Prolific pl2303 usb to serial In Virtualbox

原本以為,在 USB 那邊切過去就可以,但 Guest 裡的 Windows XP 在安裝驅動程式以後還是無法使用。

後來還是在 VirtualBox 裡設定,啟用 COM1,然後連接埠模式選”主機裝置”,連接埠設 Ubuntu Host 偵測到的 “/dev/ttyUSB0″。這樣應該是沒問題,再看看。