電影流水帳(2012/1/1~2012/1/8)

轉眼又是新的一年。

  • Cowboys & Aliens(IMDB, Wikipedia),中譯:星際飆客。中文翻譯還蠻能唬人的,算了。這是一部西部片,只是對抗的人變成了外星人。故事很簡單,男主角一開始是喪失記憶的,手上帶了一個莫名其妙的手環,然後他到了小鎮。小鎮旋即被外星人襲擊,一堆人被擄走要解剖用。然後男主角就跟小鎮上最硬的人組隊去救人,在途中,男主角慢慢想起以前的事情,也跟女主角等人慢慢熟起來。然後終於找到外星人的飛船,就決定先把外星人引出來打,男主角跟女主角趁機進去救人。外面真的幾乎是一場一面倒的戰役,那個時代的槍沒打到要害的話,基本上是打不死人的,就子彈卡在肌肉裡這樣,所以外星人根本是所向披靡。不過在電影的加持之下,還是幹掉了不少外星人。題外話,其實外星人的設定不是很合理,為什麼身體還會打開,把要害攤給別人看還會伸出另外兩隻手呢?不過反正是外星人,我想我就別在意了。在硬撐了許久之後,終於把人救了出來,女主角其實也是外星人,是要來報仇的外星人,所以就拿了男主角的手環下來,轉成炸彈,進去核心。男主角趁機會趕緊逃了出來,女主角最後就把外星人的船炸掉,就這樣。大致上不難看啦,最可惜的一幕是女主角死而復生的那一段,她從火裡走出來,衣服都被燒光光,我蠻想加入那些圍觀的人說,想知道為什麼他們那麼驚訝。(你劃錯重點了好嗎?驚訝是因為她死了又再復活,不是沒穿衣服的問題!!)
  • Iron Man 2(IMDB, Wikipedia),中譯:鋼鐵人2。Tony因為控制不住palladium的關係,生命不長久了,所以就開始亂搞,並且讓Pepper當CEO。在西班牙遇到他老爸朋友的兒子Ivan Vanko,一陣亂打讓鋼鐵人跟Starks工業的名聲大為降低,讓對手Hammers工業趁機而入。一整個low到谷底,一具鋼鐵人又被美國國防部拿走的情況下,神盾局的人跑出來跟他說palladium不是最好的元素,給他打了抑制Palladium的藥物並給了他他老爸的遺物,說有更好的元素可以用,他摸索一陣子之後,找到了製造新元素的方法,然後噹噹噹,新的core誕生了,arc reactor更為強大。Ivan被Hammers吸收以後,幫他們研發,但不聽他們的話,而是搞自己的,所以在Expo時,他遙控一堆機器人跟Iron Man打,這堆機器人真的很酷啊,但Iron Man跟他的朋友聯手把這堆機器人幹掉,Ivan大魔王現身,最後以解決掉大魔王告終。這一集Pepper的戲份不多,好可惜,我很喜歡她說。然後飾演Natalie的Scarlett Johansson是一個亮點,她的武術動作真的好酷,然後她真的很適合演這種酷酷的角色,The Spirit裡是這樣(有多一點搞笑),這裡也是這樣。

http://en.wikipedia.org/wiki/Whiplash_(comics)#Film

skydrive+FUSE的read

這幾天弄skydrive+fuse的時候,一直在想,這到底適不適合用FUSE來實作?

  1. 以網路程式來說,讀取的時候,要可以告訴伺服器端,客戶端要下載那一段,要下載多少,以HTTP來說,這可以用Range這個header來達成,只要在發request的時候,加上Range header就可以指定。那麼skydrive伺服器端有支援續傳嗎?這個我還沒去確定。
  2. 那麼FUSE的read裡可以使用續傳嗎?在read裡會指定要讀取多少,從哪裡開始讀取,看來是可以使用續傳,可是使用續傳的話,就要考慮一下客戶端的情況,一般在做這種read的時候,是使用一個回圈,然後一次只讀取一部份到緩衝區裡,並不是一次讀完,因此,只讀取一部份的結果,等於會送出許多次的request給伺服器端。
  3. 可以不要送出許多次的request嗎?這樣網路會折返很多次。一次下載完,先放到硬碟的話,就要面對同步的問題。首先第一次read時,就要可以傳回一部份值,並且要把這個下載的動作放到thread去執行,繼續下載,並放到某個暫存的地方,直到下載完成。那接下來第二次要read時,再去讀取已經下載的部份並傳回。這樣會少掉比較多的request,效率也會比較高一點。可是thread在寫的時候,另外一個thread可以去讀取正在寫入的檔案嗎?會不會有什麼奇怪的事情發生呢?這個是需要實驗的地方。
  4. 延續前面的討論,現在已經放到暫存的地方,存取會快很多,可是該怎麼知道伺服器端的檔案被更改了?這應該可以在一開始要read的時候,去判斷檔案大小跟屬性來判斷是不是要重新下載。另外也要考慮到伺服器端檔案被頻繁更動的情況。
  5. 既然會放到暫存的地方的話,是不是乾脆像dropbox那樣用sync的方式來做會比較好?