2004年07月11日

刚刚从电影院回来,看了新上映的Spiderman 2,感觉很不错!

与一代相比,故事情节基本上没有太多的变化,依然是同样的,与怪物战斗。特技效果拍得很不错,动作设计上也十分有创意。很喜欢在火车上打斗的那一段,正如昨天tiefan朋友所说。这段情节,如果不是蜘蛛人而是超人的话,那就会平淡无奇了,而正因为蜘蛛人只是一个普通人,只是一个拥有特殊能力的普通人,而不像超人那样无所不能的外星天才,所以阻止火车前进,已经是属于超出他能力范围之外的事情了,但是他做到了,被他所救的全车乘客也都对他表示了认同。

说到火车我想到了柯南剧场版《贝克街的亡灵》那一集,里面也有火车失控的情节,或许《蜘蛛人2》是从柯南中获得的灵感也不一定。不过两者对成功的定义却不同,柯南中只要能够保住自己的性命就够了,而蜘蛛人却要担负起拯救列车中乘客的使命,所谓青出于蓝胜于蓝,虽然是相似的情节,却十分激动人心的。

影片给我最大的感触,还是它的“人情味”。Peter对于M.J是喜爱却又害怕连累M.J,Harry对Peter则是猜忌却又放不下友情,M.J对于Peter是爱慕却又无可奈何,这些细微的情感能够贯穿在这样的一步动作片中,让人在视觉的享受之后再来体味这些微妙的情感,经常能让人在不知不觉中融入剧中人物的感情世界中。而M.J得知Peter就是蜘蛛人之后,所有的误解释然,那一刻仿佛是在看一部经典爱情大片时看到最高潮一样。

在Spiderman 2中,Peter一共六次暴露或者试图暴露自己的身份。第一次是在给误会自己的M.J道歉时,在电话中说出了自己就是蜘蛛人,虽然不知道M.J最后有没有听到这一段留言,但是至少说明了Peter心中,M.J与蜘蛛人这两者之间的矛盾。第二次是在发觉自己失去超能力时,与医生谈话,隐晦地说出自己是蜘蛛人,那时他心里的矛盾已经非常激烈,M.J与蜘蛛人两者舍谁取谁实在难以选择,但是他似乎已经不再想当蜘蛛人了——果然后来他放弃了蜘蛛人的身份。但是在那次火灾中,自己舍身救出了孩子,但却还是有一个人被烧死在四楼,他开始怀疑自己放弃做蜘蛛人的做法是否正确了。后来老奶奶的鼓励和孩子的期望使他重新燃起了信心,Doc Ock抢走了M.J使他忍无可忍,终于又找回了自己原本的面目,重新回到了为NY的和平的战斗中!第三次则是他在阻止列车前进时摘掉了自己的面具,而最终精疲力尽的他被乘客救回车厢中时,乘客们都答应为他的真实身份保密,并毅然保护已精疲力尽的蜘蛛人。在人们心中,蜘蛛人已经成为了英雄的代名词,不仅仅是孩子,全城所有的居民都已经认同了他。虽然报社经常在为蜘蛛人造谣,但是蜘蛛人这个名字已经深深地印在人们心中——那个弹着琴唱蜘蛛人的女人就是最好的证明。第四次是蜘蛛人被Doc Ock抓住送给Harry,Harry摘下蜘蛛人的面具赫然发现蜘蛛人居然是Peter,内心矛盾,但是最终还是选择了他和Peter之间的友情,告诉了Peter Dock Ock的所在。第五次则是最后与Doc Ock的战斗,毫无办法的Peter向Doc Ock现出了自己的真面目,以Peter的身份召唤回了Doc Ock的良知,最终阻止了城市的毁灭。第六次则是战胜Doc Ock的Peter被M.J看见了真面目,瞬间两人以前的误解顿然冰释。

影片的最后一段,Harry见到了父亲生前用过的东西,不知道这段情节是什么意思?究竟是Harry知道了父亲生前的所作所为,从此不再向蜘蛛人复仇呢?还是拿起了父亲的面具,继续与蜘蛛人和正义作对呢?大概只有编剧才知道吧,——不过我认为可能会是后者吧,就是Spiderman 3的情节了。不过可以想象,Spiderman 3应该是喜剧结局的,最终结果应该是Peter说服Harry弃恶归正了。

 

本来约好今天骑车去看电影的,就要出门时发现外面天很阴,马上就要下雨的样子。赶快查查天气预报,发现一大片雨云在下午一点左右正好从我们这里经过。正说着话,外面已经开始电闪雷鸣,倾盆大雨已经开始下起来了。——幸好没有出门,否则一定会落汤鸡回来的。只好作罢。不过看样子一点过后雨云就飘走了,也许我们还可以去赶四点场。

Hasta la vista, baby–

T2已经看了不下十遍了,可是每次看都是兴致盎然,从来没有因为看过而失望。

片名:Terminator 2: Judgement Day
年份:1991年
导演:James Cameron
演员:
  Arnold Schwarzenegger….  The Terminator (T-800 Model 101)
  Linda Hamilton ….  Sarah Connor
  Edward Furlong ….  John Connor
  Robert Patrick ….  T-1000
(以上数据来自http://www.imdb.com/

第一次看应该是在上初中的时候了,是电视里面在放,我只看了第二张盘和第三张盘。后来上大学之后又不止一次地看这部片子,并推荐每个没看过的人都看一遍。后来为了搞清楚其中的一些细节,又回过头去看了一遍《Terminator》,把T2中的一些疑团解决了。

该片最引人注目的,我想应该是它的新的主题,就是机器人通过学习,获得了人类的思想。“我终于明白你们人类为什么会哭了”,虽然这句话并不是那么豪言壮语,但它却声明,T800和John Conner通过接触产生了感情。T800虽然并不是以人类的方式去思考,它只是一台计算机,——但是它学会了感情,学会了与人类交流。片中许许多多细节的地方表现出的这一点都令人十分感动,比如T800和John击掌,阻止Linda暗杀,以及后来的保护Conner母子等。影片有些细节很幽默,比如T800学会从汽车中找车钥匙,逃走时由于怕超速而不敢开快车等等。

除了施瓦辛格之外,我比较喜欢Robert Patrick扮演的液体金属人。不说这个角色好坏,我觉得Robert的演技很不错,他把T1000的凶残与无情演得十分逼真。但是似乎Robert一直是名不见经传。找了一下他参与的电影,很多很多,包括著名的《X-file》《Charlie’s Angels》等,但似乎都是配角。

 

今天《Spider Man 2》上映了。前天买了电影票,周日也就是明天去看了。以前看过《Spider Man 1》,不知道这次的续集与一代相比有什么新的噱头么?总之明天看了就知道啦!

官方主页(http://www.spider-man.jp/)上的介绍:

一代里Green Goblin事件的两年以后。主人公Peter Parker一边在报社打工一边上大学,Mary Jane终于开始了她梦想已久的演员职业,而他的好友Harry Osborn认为是Spiderman杀死了自己的父亲,发誓要杀死Spiderman为父报仇。

虽然有着这种令人烦恼的人际关系,Peter仍然化身为Spiderman守护着NY街。在他面前出现了比Green Goblin更强大的敌人,那就是拥有四支伸缩自如的人造金属触手的怪人Doc Ock。

Doc Ock的真实身份是科学家Otto Octavius。由于一次实验事故,金属框架与他的身体融合,使他成为了凶恶的疯狂科学家。而且,他认为自己变成这个样子都是因为Spiderman的错,发誓要向Spiderman复仇!

新敌人登场,以及Mary Jane的新的恋人(?),Peter本来就忧愁繁多的人生,将会变得更加复杂!

一代中的故事情节隐隐约约记得一些,但是人名都忘记了。看了电影介绍,再看看预告片,大概能够想起来前代故事的大概了吧。不过又是美国动作片的经典的个人英雄主题,最后总是要干掉什么怪物之类的东西……也好就当是看个热闹吧!

2004年07月09日

最近开始听宇多田ヒカル的歌。以前一直都没有注意过她的歌词,这次看着歌词一句句体味,发现其实这首歌的歌词写得十分有韵味的。Hikki的歌表现很多的是心情,她能够把“恋”那种很细腻的感觉,用各种方式表达出来,也许这就是她的迷人之处吧。与Ayu相比,我还是喜欢Hikki多一些。

タイトル名 DISTANCE
作詞者名 Utada Hikaru
アーティスト名 宇多田ヒカル
作曲者名 Utada Hikaru

気になるのに聞けない
泳ぎつかれて君まで無口になる

会いたいのに見えない波に押されて
また少し遠くなる

途切れないように keep it going,baby
同じ気持ちじゃないならTell me
無理はしない主義でも
少しならしてみてもいいよ

I wanna be with you now
二人でdistance 縮めて
今なら間に合うから
We can start over
ひとつにはなれない
I wanna be with you now
いつの日かdistanceも
抱きしめられるようになれるよ
We can start sooner
やっぱりI wanna be with you

ひとことでこんなにも傷つく君は
孤独を教えてくれる

守れない時 Keep on trying ,baby
約束通りじゃないけどtrust me
無理はしない主義でも
君とならしてみてもいいよ

I wanna be with you now
二人でdistance見つめて
今なら間に合うから
We can start over
言葉で伝えたい
I wanna be with you now
そのうちにdistanceも
抱きしめられるようになれるよ
We should stay together
やっぱりI wanna be with you

I wanna be with you now
Cuz I know this can’t be forever
We can start over,just you and me
I wanna be with you now
Cuz I know this can’t be forever
We should stay together,just you and me
I wanna be with you

2004年07月08日

经过了两个星期多的时间终于把这篇XSLT入门教程翻译完了。内容并不多,不过经常三天打鱼两天晒网,所以翻译得很慢。不过今天总算是翻译完了,不至于再多一个虎头蛇尾的东西了。

翻译之后的教程放在了我的主页上: http://charlee.nease.net/ref.xml

 

2004年07月06日

天气越来越热了。早上九点钟的路上十分闷热,即使是昨天刚刚下过小雨,
空前的湿度也一点都没有降低。幸好车上有空调,能够稍稍舒服一些,
可是一旦下了车就又如同进了蒸笼一样。

九月里平淡无聊
一切都好只缺烦恼

中午本来打算出去走走的,一出门一股热浪迎面扑来,算了吧。
正门前的吊顶映出前方草坪的绿色,与它本身的银色在一起十分不协调。

似乎干什么事情都没有心情,只想能够找个凉快的地方吹吹风,
或者一头扎进游泳池泡着……赶快到周末吧就能去游泳了……

晚上回到家开门发现室内温度29℃……
一天比一天热了么

ps: 这张照片是我用Gimp进行处理的。笔记本正在忙着整理硬盘,
所以只好用装着Linux的台式机了。插上相机,手动mount一下,
感动阿,居然很容易地就读出来了……看来现在的Linux也不是几年前的丑小鸭了。
手边没有Photoshop,就用Linux下的Gimp吧,用了用发现基本功能跟Photoshop差不多,
只是用着还不大习惯,不是很舒服。另外就是Linux下的中文字体比较难看……
本来想写两个中文来着,实在是办不到,算了吧。

这个日历跟以前给Blog加的那个日历是同一个代码了。不过原来的代码找不到了,于是重新汉化了一遍。花了些时间把日历的风格改了改,使之适合自己的主页的风格。汉化的时候出现不认识中文的问题,于是趁这个机会把所有的代码全部改成UTF-8编码,以后也正好能够适应多语言显示。

2004年07月04日

一直用网易的免费空间的,但是最近发现ftp连不上了,狠心买了网易的学生主页空间。价格还算便宜吧,只是必须一次买半年的,稍稍有点心疼了,不知道自己以后是否有毅力做下去的。提供计数器和留言本,还不错,只是留言本只能网易用户才能留言,稍稍有点不舒服。

http://charlee.nease.net/

#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

// 入口函数WinMain
int WINAPI WinMain(HINSTANCE hInstance,   // 当前应用程序实例的句柄
       HINSTANCE hPrevInstance,  // 前一个应用程序实例的句柄
       LPSTR  lpCmdLine,   // 命令行
       int   nShowCmd)   // 显示状态
{
 static TCHAR szAppName[] = TEXT(“Hello”);
 WNDCLASS wc;
 HWND hWnd;
 MSG msg;

 // 注册窗体类
 wc.style  = CS_HREDRAW | CS_VREDRAW;    // 窗口类风格
 wc.lpfnWndProc = WndProc;        // 窗口回调函数
 wc.cbClsExtra = 0;         // 窗口类附加数据,设为0即可
 wc.cbWndExtra = 0;         // 窗口附加数据,设为0即可
 wc.hInstance = hInstance;       // 拥有窗口类的应用程序句柄
 wc.hIcon  = LoadIcon(NULL, IDI_APPLICATION);  // 窗口图标
 wc.hCursor  = LoadCursor(NULL, IDC_ARROW);   // 窗口内使用的光标形状
 wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 用于着色窗口的画刷
 wc.lpszMenuName = NULL;         // 指向菜单资源名的指针
 wc.lpszClassName = szAppName;       // 指向窗口类名的指针,不能为NULL

 if (!RegisterClass(&wc))
 {
  MessageBox(NULL, “Start failed!”, NULL, MB_ICONERROR);
  return 0;
 }

 // 创建窗口实例
 hWnd = CreateWindow(szAppName,   // 窗口名称,不能为NULL
  szAppName,       // 窗口标题
  WS_OVERLAPPEDWINDOW,    // 窗口风格
  CW_USEDEFAULT,      // 初始x方向坐标
  CW_USEDEFAULT,      // 初始y方向坐标
  CW_USEDEFAULT,      // 初始x方向大小
  CW_USEDEFAULT,      // 初始y方向大小
  NULL,        // 父窗口句柄
  NULL,        // 菜单句柄
  hInstance,       // 应用程序实例句柄
  NULL);        // 附加数据,一般为0

 // 显示窗口
 ShowWindow(hWnd, nShowCmd);

 // 重画窗口
 UpdateWindow(hWnd);

 // 消息循环
 while (GetMessage(&msg, NULL, 0, 0)) // 取出消息队列中的第一个消息,取到WM_QUIT时返回0
 {
  TranslateMessage(&msg);   // 翻译消息
  DispatchMessage(&msg);   // 将消息传递给msg中指定的窗口过程
 }

 return msg.wParam;

}

// 窗口过程函数WndProc
LRESULT CALLBACK WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
 switch (Msg)
 {
 case WM_DESTROY:  // 用户关闭窗口时窗口将收到该消息
  PostQuitMessage(0); // 在消息队列中插入一个WM_QUIT消息
  return 0;
 }

 return DefWindowProc(hWnd, Msg, wParam, lParam);
}