2008年3月30日 星期日

Pedro Almodóvar

最近連續看了幾部他導的電影
之前看"我的母親"(all about my mother)就深深被他的風格吸引
然後看了"壞教慾"(bad education), "悄悄告訴她"(talk to her), "活色生香"(live flesh)
今天看了"玩美女人"( volver)

"想繼續找他早期的電影來看",心中有這種想法

看電影常常會改變我的一些想法
也許不會更成熟,但想法確實在改變

我也看了現代啟示錄 1979的電影
一部講越戰,在電影中到處都在批評美國政府
世界上充滿一堆偽善的人,他們做盡壞事,然後又想要自己看起來像個好人
在電影中美國政府就是這樣
但其實我看這部電影是想看馬龍白蘭度
可惜他的戲份不是很多哈哈

2008年3月28日 星期五

hot fuzz

非常好玩的一部電影
裡頭很多暴力場景,但都會讓人忍不住大笑
居然能夠把槍戰暴力場景拍得如此 funny

做了一個很奇怪的夢 血腥 但是不恐怖, 可能是看了hot fuzz的關係
我看到一多傘兵從空中跳下來
但有些人的傘沒開他們就直接摔成肉醬
然後有一批人他們完全沒有帶降落傘就往下跳
仔細一看穿著綠色衣服好像是郵差
聽到他們的叫聲~~啊~~趴 變成肉醬
我抬起頭看到他們好像往我頭上飛過來
我趕緊閃開 然後就醒了

感冒了

果然不出所料
感冒了
早上起來覺得頭會暈
身體有點冷
覺得很懶散身體好像沒有正確連起來一樣

今天

早上起來喉嚨就怪怪的
應該是快感冒了
拼命的拿鹽水漱口
希望明天早上爬起來會好點

今天我看了"悄悄告訴她" talk to her
這部電影,我非常喜歡
除了有一堆臉紅心跳的畫面外,我很喜歡他的劇情

到底什麼是愛?如果不清楚,可以看看這部電影

2008年3月26日 星期三

手機掛了

我把充電器放在家
這樣終於可以享受一個多月不用帶手機在身上的樂趣了
昨天家人不死心把充電器寄過來
但上天保佑,他們寄錯了
總之沒有手機在身邊的我是快樂的

2008年3月24日 星期一

進度

今天論文進度2頁
然後寫了一個chat client的plugin
我在家用vb 2005寫的給它port到2003
.net framework在1.5與2.0有一些不同
2.0似乎包得更好了比1.5簡潔許多
然後create出來的thread不能access視窗thread的資料(1.5卻可以)
唉 管它的

今天看了贖罪這部電影
聽說還不錯,但沒有給我多大的感動

2008年3月23日 星期日

back again

這次回家看了三部電影

鐵面特警隊 <- 羅素克洛真男人, 讚
也是三部裡面最讚賞的電影
我很喜歡看這種看好人壞人很難分清楚的劇情

記憶裂縫(paycheck) <- sucks 大概是馬蓋先電影版,一開始鋪陳的還不錯
但中間後面就遜掉了,可惜了,動作片,我覺得我愈來愈不喜歡這種電影
子彈好像無限發,但又打不中主角,難道這就是好萊屋式的電影?

時空線索 <- 這部還不錯,跟記憶裂縫剛好相反,有一台可以看到過去的機器
但那個過去是分支的過去,也就是你可以改變那個過去,但不能改變目前
跟七龍珠特南克斯回去救悟空的劇情很像XD

坐車回新竹的路上把hw client的部分完成了
因為事先用vb.net寫過ㄧ個gui client
現在用java寫 大概一個小時多就解決了
然後呢 拿出nb看電影
我看了壞教慾
講男同性戀、戀童癖的電影
很多歐洲電影都比較敢描述一些特殊題材的電影
我很喜歡以前看的一部叫做"我的母親"的義大利電影( 冏 後來我去查 發現是同一個導演 )
風格很像
離題了,這部壞教慾倒沒有什麼什麼很露骨的部分
這位導演實在是很厲害
但是看完總是被一股強大的感情淹沒
會想哭,但哭不出來那種感覺

其中有一幕讓我印象很深刻
神父跟小男孩在樹林下,神父彈著吉他,小男孩唱著Moon River
我好像聽到天使的聲音

喝酒

前幾天叔叔搬了一打的葡萄酒來
我每天都喝不少
但最忌在空腹喝,會很難過
我很喜歡喝酒但事實上分辨不出什麼好酒壞酒
記得去日本時好爐請我喝過日本清酒
非常好入口,很滑順的通過喉嚨, 應該是我目前喝過最好喝的酒
有時後會買一些40%的洋酒自己隨便調一下(大多是加汽水)
我想我應該還沒有喝醉失態過
喝酒真的可以壯膽阿(目前我桌上就有一杯葡萄酒)
讓我想起教父一幕, 克里沙曼在教麥克做菜,
在一鍋子的蕃茄肉醬裡面, "涮"的加入一些葡萄酒
下次來試試看酒的料理吧,

2008年3月20日 星期四

今天想到的一句話

對抗無知的武器 - 勇氣

其實我們對事實的本身都不是很清楚,但我們還是可以活下去,靠的就是勇氣

盜版軟體? 先用了再說,靠的是勇氣

菜不乾淨? 先吃了再說,靠的是勇氣

話說,花了一天把程式作業寫出來了,一個簡單的chat server

之前修網路程式設計就寫過類似的東西,之前是用C,這次用Java
想想看枝前我花了一個多禮拜,果然功力有小小的提升了

Java藏了太多東西了,有時候反而會掉入他的陷阱,似是而非
最簡單例子就是 if( string == "a") 這是在比memory address 而不是字串內容
String這東西根本不是原生的資料結構,他是類別,在Java類別變數可以想像成指標
還有,我把client socket關掉了,居然readLine()還是會讀到(null)而不是丟出IOException

thread programming真的不是簡單的事情
讓他們"自然死"有幾種方法,設一個變數一直檢查
或是用InterruptedException(但是必須要在sleep或wait狀態下)
或是用IOException(在做IO時)
然後catch後做安葬的動作

2008年3月17日 星期一

ohoh

剛剛聽了艾蜜莉異想世界的原聲碟
真令我驚訝 好好聽
有點後現代搖滾的感覺但柔和許多
又感情充沛
我看到一個景象
有個小孩遊樂園去玩,空無一人的遊樂園

2008年3月16日 星期日

今天

看了追風箏的孩子
值得推薦的好片

2008年3月13日 星期四

寫文章

我不太會寫文章
寫論文對我來說還蠻痛苦的
我不寫我不清楚或是來源不明的東西

2008年3月12日 星期三

潛水鐘與蝴蝶

剛剛看完這部片,很感動
一個忽然腦中風的人,在生命的最後一個階段,用眼皮紀錄自己的人生
我想會不會有一天我也會這樣?
如果我變成這樣該怎麼辦?

2008年3月11日 星期二

今天上課

之前上網路程式設計老師有說: multi thread programming 很困難
今天上課又提到一次,multi thread 我還沒有真正寫過
在linux 下用fork產生一個新的process而不用thread
process跟 thread最大差別就在 process有自己的address space, thread沒有
雖說fork但也沒有完全copy一份memory
有一些機制例如: copy on write之類的再需要動到資料時再copy
process則利用一些IPC的機制如pipe或是shared memory溝通

今天另外一個主題是Exception handling Java在這邊處理的還不錯
code 看起來更清楚了
在C常要用
#define ERRORA -1
#define ERRORB -2
code = foo();
if( code == ERROE )
{
... 做一些例外處理
}
code = bar();
if( coid == ERROEB)
{
.., 做例外處理
}

Java 則是

try
{
foo();
bar();
} catch( ERRORA) {
... 例外處理
} catch(ERRORB) {
... 例外處理
} finally {
... 只要有catch exception都會執行, 用來free一些資源
}

寫Thread最重要的就是資料要分開 分清楚!
小心不要Double Lock

Dream

昨天做了一個很奇怪的夢
我爸帶我去買玩具
夢裡的我不是小孩子
但我還是在那邊選,好像選食材一樣拿起來看看又放下
然後我看到一組玩具,那是我小時候買過的機器人組合
我小時後確實花了不少錢在買玩具orz


今天要去跟老師meeting,該去學校了

剛meeting完了,我想趕快論文弄一弄畢業吧

2008年3月9日 星期日

組合

今天看到這篇
http://www.codeproject.com/KB/recipes/combinations_cpp_2.aspx
如何寫出各種組合的演算法
我可想不出來

常常,我會感到不安
我好像很遜,我到底可以作些什麼事情
感覺自己就算消失了也沒差

Note

前幾天玩了那個手套,他用了一些Information Hidden的方法
覺得蠻有趣的 想要自己來試試看 順便練習一下C

[ hidden.h]
#ifndef HIDDEN_H
#define HIDDEN_H 1

// 在這邊藏起來了,用void*
typedef struct Hidden {
void* data;
} Hidden;

Hidden* Hidden_New();
void Hidden_Show(Hidden*);

#endif

[hidden.c]
#include
#include
#include "hidden.h"


typedef struct dataContent {
int ID;
char* name;
} dataContent;

typedef dataContent* ptrData;

Hidden* Hidden_New()
{
ptrData p = (ptrData) malloc(sizeof(dataContent));
p->ID = 577;
p->name = "Pingting";
Hidden* ret = (Hidden*) malloc(sizeof(Hidden));
ret->data = (void*)p;
return ret;
}

void Hidden_Show(Hidden* target)
{
ptrData p = (ptrData)target->data;
printf(" %d, %s \n", p->ID, p->name);
}

[test.c]
#include
#include "hidden.h"

int main(int argc, char** args, char** envp)
{
Hidden* p = Hidden_New();
Hidden_Show(p);
return 0;
}

gcc -c hidden.c
gcc -c test.c
gcc -o test test.o hidden.o

#test
577, Pingting

2008年3月8日 星期六

funny

To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.

2008年3月7日 星期五

昨天吃太多,今天也吃太多,肚子不太舒服

今天我把玩了一下之前老師買的裝有Sensor的手套
他是USB介面的,直接插上XP後就會出現"找到USB人性化裝置",支援Plugin & Play
然後利用廠商提供的Win32 DLL (包含一個.DLL 跟 .lib, .h)
這個DLL有點像是filter的東西並不是真的驅動程式,他只是一段程式
去跟Windows的驅動程式溝通,Open, Close, Read, Write,IOCTL 這些東西都看不到
而是直接提供比較高級的API,如果是Memory Mapped IO
應該是去讀取某段記憶體位址 (非虛擬記憶體)
或是Port IO就去開啟另一個特殊的位址
但應該沒有分配到IRQ, API只提供主動去讀取值
他範例的作法是透過一個Timer去取得手套Sensor的值

手套上總共有5個Sensor,測定每個Sensor的張力,表現手指的狀態
手套有預設幾組手勢,例如比Yeah就是3
我改了一下他的範例讓程式可以在某些手勢時發出聲音 ( 後來發現比中指的辨識率最高 哈哈 )

關於這個DLL, 應該是MicroSoft C++ Compiler產生的
我嘗試用Gnu C++ Compiler去include他會出現Signature出問題的Error(我試過改calling conversion還是不行)
g++ 跟 cl 產生的DLL果然是不能互通的? 也許有方法但我沒google到(但意外google到把Dll轉成static lib的東西)
其實DLL就是一段編譯好的程式,利用.h跟(.a / .lib)在你Inlude的程式裡面留個空間
當你執行(或使用)的時候在動態載入( 藉由Loader的幫忙,幫你把DLL mapped到你的程式,包含Data & Code segement )

今天晚上用Visual C++ Express 2008嘗試玩用一下
第一次對MS這麼厭惡
之前寫VB.net都沒什麼感覺,用得很爽
但為了.Net Framework, C++多出了很多莫名奇妙的東西, ref Class? &Class::Function ???
弄得我有點暈頭轉向,把以前寫的Code要port進來,我看有得改
他同時支援標準的C++跟他自己發明的一些玩意(copy Java copy 很大),.net Framework可以用很多種語言C#, VB, C++, ...
不想去搞那些東西,看他.net版本跳那麼快,還是把基礎打好要緊
.Net的程式跟Java比較大的差別是.Net編譯出來是Assembly Code, Java是ByteCode
.Net會因為這樣所以效能好一點嗎? 但也比較不好Port到其他平台吧?

對了 今天慢跑的時候 忽然想到怎麼寫論文的誌謝 哈哈


以上都是我在自言自語 沒有整理 想到什麼就寫什麼

2008年3月5日 星期三

王牌冤家

這部電影我還沒看完,大概看了一半,剩下明天解決吧
有點是村上春樹的"遇見100%的女孩"的感覺的電影
雖然是金凱瑞演的,但不算是娛樂片,目前為止我還蠻喜歡的

3/6
今天把這部片補完了

logical and physical

昨天聽到這種兩用法
所有的事情都可以皆由logical簡化再簡化
不要去管physical的細節
有些事情真的這樣處理比較好呢

2008年3月4日 星期二

今天上課

坐我前面那個人一直在打電動
讓我有點分心XD

今天老師介紹一下Java基本的OO部分
講到ADT其實就是Interface, Class其實是Implement後的東西
這個概念挺不錯的
還有一個東西 "volatile"這個modifer
之前修嵌入式系統在一些driver上常看到,上網查一下也看不是很懂
今天老師只解釋一下就恍然大悟了
int a;
a = 1;
a = 3;
a = 5;
這時Compiler可能會跳過a = 1 or 3讓 a 直接等於 5

但對於那些memory Mapped IO的device而言a所指的address是對應到某個裝置
( 可能是led的register )
跳過a = 1, a = 3 不是我們想要的,所以用"volatile"修飾一下告訴compiler不要亂來

2008年3月3日 星期一

吃到飽

常常去吃一些吃到飽的餐廳
吃得很痛苦跟吃到飽之間只是一線之隔
只要一穿越那條線--就會很痛苦,在那之前感覺都還好
吃了那麼多次,好像漸漸可以摸清楚那條線了

反省一下,發現我做事情有點三分鐘熱度的傾向
小時候就是這樣,有點過動兒的情形,讓家人很頭痛
但做事情這樣子可不好,每每到了關鍵地方就想要轉個方向
這時需要勉勵一下自己"好好的做下去吧!"

2008年3月2日 星期日

master piece

最近在念 the art of assembly language
寫得真的很棒
釐清了一些以前不太了解的東西

CPU, pre-fetch, pipeline, interrupt ( interrupt vector )/ polling IO , dma, cache,
memory mappped IO / port IO

以及組合語言
而且我才念到第三章啊 ...

2008年3月1日 星期六

if

if( 格物致知 && 誠意 && 正心 && 修身 && 齊家 && 治國 ) 明明德於天下;

C語言的一個特性,由格物致知到治國其中一個為false就不會繼續check下去