CreateProcess()

今天下午在寫程式的時候被一個奇怪的問題給卡住,我寫的程式去呼叫 CreateProcess() 但一直跳出下面的錯誤訊息:

ScreenHunter_02 Dec. 24 19.07

原來問題出在我使用 Windows 的 CreateProcess() 這個 api 的方法錯誤,先來偷看一下 MSDN 的函式原型

BOOL WINAPI CreateProcess(
  __in_opt     LPCTSTR lpApplicationName,
  __inout_opt  LPTSTR lpCommandLine,
  __in_opt     LPSECURITY_ATTRIBUTES lpProcessAttributes,
  __in_opt     LPSECURITY_ATTRIBUTES lpThreadAttributes,
  __in         BOOL bInheritHandles,
  __in         DWORD dwCreationFlags,
  __in_opt     LPVOID lpEnvironment,
  __in_opt     LPCTSTR lpCurrentDirectory,
  __in         LPSTARTUPINFO lpStartupInfo,
  __out        LPPROCESS_INFORMATION lpProcessInformation
);

其實問題的癥結很簡單,就出在第二個參數身上,為什麼 lpCommandLine 的型別是 LPTSTR 而不是 LPCTSTR 呢?理由很簡單,因為系統會去更改這個參數,所以 MSDN 也用了 __inout_opt 來修飾這個參數,因此我們不能傳一個 read only 的記憶體區塊到這個參數來。引用一下 MSDN 的說明:

The Unicode version of this function, CreateProcessW, can modify the contents of this string. Therefore, this parameter cannot be a pointer to read-only memory (such as a const variable or a literal string). If this parameter is a constant string, the function may cause an access violation.

有趣吧?!只有 Unicode 版本的 CreateProcess 會修改這個參數,所以下面的程式碼可以 work:

wchar_t cmd[ 100 ] = L"notepad D:\\mt.txt"; 
CreateProcessW( NULL, cmd, NULL, NULL, false, 0, NULL, NULL, &si, &pi ); 
CreateProcessA( NULL, "notepad D:\\mt.txt", NULL, NULL, false, 0, NULL, NULL, &si, &pi );

但下面的程式碼是不能 work

CreateProcessW( NULL, L"notepad D:\\mt.txt", NULL, NULL, false, 0, NULL, NULL, &si, &pi );

是不是有點不 consistent 呢?

此外,眼尖的人可能會發現為什麼一個 LPTSTR (即TCHAR*) 型別可以接受一個型別為 const TCHAR array 呢?C++ standard 2.13.4 不是這樣說的嗎?

A string literal is a sequence of characters (as defined in 2.13.2) surrounded by double quotes, optionally beginning with the letter L, as in "..."or L"...".  A string literal that does not begin with L is an ordinary string literal, also referred to as a narrow string literal.  An ordinary string literal has type “array of n const char” and static storage duration (3.7), where n is the size of the string as defined below, and is initialized with the given characters. A string literal that begins with L, such as L"asdf", is a wide string literal.  A wide string literal has type “array of n const wchar_t” and has static storage duration, where n is the size of the string as defined below, and is initialized with the given characters.

怎麼 VC++ 連個 warning 都不給呢?這是因為 C++ 為了相容於 C 所做出的讓步,來看一下 4.2  Array-to-pointer conversion 的描述:

A string literal (2.13.4) that is not a wide string literal can be converted to an rvalue of type “pointer to char”; a wide string literal can be converted to an rvalue of type “pointer to wchar_t”.  In either case, the result is a pointer to the first element of the array.  This conversion is considered only when there is an explicit appropriate pointer target type, and not when there is a general need to convert from an lvalue to an rvalue.

因此,比較好的習慣是:總是用 const char/wchar_t* 去指向一塊 literal string。Scott Meyer 不就說了嗎?

Use const whenever possible

: )

#include <iostream>
#include <typeinfo>
using namespace std;

void foo( char* msg )
{
    cout << "[foo( char* msg )] " << msg << endl;
}
void foo( const char* msg )
{
    cout << "[foo( const char* msg )] " << msg << endl;
}

template<typename T>
void printType( T* x )
{
    cout << "type of T: " << typeid( T ).name() << endl;
}

void badCall()
{
    throw "Exception";
}

int main()
{
    foo( "Hello World" );
    printType( "Hello World" );

    try {
        badCall();
    }
    catch ( const char* msg ) {
        cerr << "[const char* msg] " << msg << endl;
    }
    catch ( char* msg ) {
        cerr << "[char* msg] " << msg << endl;
    }

    return 0;
}

我可沒說上面的 code 可以順利 compile 唷~

Boost.Test 的新文件

Boost 1.37.0 也出了好一陣子了,不過公司不比實驗室,總是不能隨意看有興趣的東西,指派的工作或 reading 還是得擺在第一位,更何況直屬老闆跟大頭都做我後頭和旁邊,有時還是會有點壓力!

不過最近被指派一個工作,跟 unit test 有關,趁著機會有時間可以看看新的 Boost.Test ,不過好像有點囧,怎麼 document 好像越寫越爛了…是我英文太爛嗎?還好舊電腦上還有舊版的 Boost.Test Doc !

哎呀,這個…程式設計師果然很討厭寫 document…果然古今中外都是…

下部隊了~

在 11/21 (五) 也就是上個星期五,經過三天一連串的面試轟炸後,HR 大姐終於公佈了 TrendSchool 十二個人的未來落腳處了,我很幸運地來到了小路學長所在的 team ,當然上禮拜就感受到小路學長不離不棄的照顧,包括很多瑣事和我的白痴問題,只能說 SCREAM Lab 揪甘心,在家靠父母、出外靠 lab !

面試的過程,從面試官口中拋出的問題,除了用來刺激腎上腺素外,其實也是蠻好的學習發想,雖然面試前,總是會意思意思,給自己預演一下,想想可能會被問哪些問題,但大概除了自我介紹外,大概都很難命中吧,哈哈!

身為一個研發替代役、偽軍人身份者,由於有三年役期關係,就被問了這樣的問題:

你希望三年後,你能在工作上扮演怎樣的角色呢?

老實說,當這個問題丟出來後,我心頭先是一揪,然後就很想棄械投降了,因為我一直沒有好好想過這個問題,此外腦海中還一直浮現錢多、事少、位高權重、責任輕的玩笑話 -,- 的確進公司前只想先把技術好好扎實的學習,並未思考以後想扮演的角色,只好將以往在實驗室做計畫、研究、帶專題學弟等經驗拿出來講,分析一下以自己目前的能力可能對哪些職務工作可以勝任、哪些部份需要加強等。

另外一個有趣的問題是:

如果今天你的主管指派了一個重要工作給你?你覺得為什麼主管會找上你呢?若是今天一個你覺得可以勝任的工作,卻指派給一個你覺得無法勝任的人,而不是挑選你,你覺得是為什麼?

我想這種問題是有點人格特質的考驗嗎?面試官還一直叫我不要客氣,直說自己的想法,媽啊,面試官看出我在壓抑自己的思考,太恐怖了…

另外,還有兩個問題也是很值得思考,有點想是詢問你對工作責任的反應,但對我們這種剛畢業又被成功嶺摧殘大腦的新鮮人來講,還挺難的!

今天你突然接到一個緊急電話,說你寫的程式有問題,你當下會做怎樣的反應?另外,你覺得什麼是不能做的?

最後,這個問題也很恐怖,像是在幫你作生活態度檢討!

你覺得什麼時候應該跟你的主管報告進度?而哪時候不應該報告進度呢?

哈,上面講的都是讓我難以回答或覺得值得思考的問題,其實還有很多問題沒有列出來,面試三天,還有一個心得,就是面試官都相當厲害,除了要靈機應變化,還得去掌控面試的氣氛,尤其面對新鮮人,要能引導作答、替面試引進良好的談話氛圍,如此可以得到更多想要的答案!

2008 H2 Hi-Comm

身為有很多活動的公司的一員,今天又再度參加公司辦的活動了,這次活動叫 Hi-Comm ,你知道、我知道、獨眼龍也知道,Hi-Comm 是某兩個英文單字的縮寫,不過似乎沒有人知道是哪兩個字…我以為應該是 High-level Communication 的縮寫吧,因為會議上會看到很多好高高層,包括 CEO、 CCO、RD head 以及各個事業部的 director,還好這不是成功嶺,不用背誦長官名稱…

Hi-Comm 是每季或每半年都會舉辦一次的定期會議,由公司高層們主持,在台下聽的當然就是員工啦,主要是 RD、Sales、Marketing 三個部門, CEO 會說明過去一季的營運狀況以及新的一季的目標,同時也會跟大家講些生意上的好消息,像是誰誰誰變成我的客戶等等,這次還看到了坐鎮日本的 CFO 錄了一段影片給大家,還蠻搞笑的,這裡果然是間歡樂的公司,我也第一次領略了印度式英文,真是 so funny、so confused …

公司的大型會議通常會有一個特色——很喜歡叫底下員工分組討論,然後由組長發表意見!這現象在公司三位 co-founders(Steve Chang, Jenny Chang, Eva Chen) 身上尤其常見,Steve 也就是張明正,通常會低著頭聆聽,然後發表自己的意見,意見多屬於 sales 方面的,並且會輔以一些過去的故事、Eva(陳怡樺)是個身材比例高挑的女生,RD 背景出身,哈,所以有時候講話格外親切(?!),而且也會適時得將 customer 放入談話內容中,很有自己的想法與意見,有趣的是,她講話時左腳會腳尖頂地,左手不時還會揮舞幾下,另外,她跟 Steve 一樣,是個很 high 的人…

Jenny(陳怡蓁)是公司的文化長(CCO,Chief Culture Officer),文化長做什麼呢?有人說就是辦活動的 XD 這解釋好像還蠻貼切,而且據說 Jenny 出現的場合,有獎金禮物可拿的機會就變多了 囧rz 其實從 Jenny 的談吐,感覺是個能過平凡生活就好、不喜歡行政管理的人,哈,不過誰叫她老公、妹妹這麼強咧!Jenny 的談話和 Steve、Eva 相比,顯得柔性親切,她會記得發言人的名字,並且試著以自己的話重複發言者的建議!

哈,或許是身為新人吧,私心覺得這種活動似乎還不賴,不單是因為跑出來摸魚還有薪水拿 Orz… 而是公司願意在決策時聆聽下面人的意見,雖然提出反對意見的效果會如何是不知道,但下場絕不會是壞的!從進公司的第一天開始,漂亮的人資小姐就幫我們上了半天的企業文化與願景,而後的會議中,也常聽到講者在強調願景。哈,羅蘭夫人說:

自由,自由,多少的罪惡假汝之名而行﹗(O Liberty, Liberty, how many crimes are committed in thy name! )

不知道可不可以改成:

願景,願景,多少的洗腦假汝之名而行!

哈,這當然是開玩笑的!但從上個禮拜的 Engineering Camp 後,我就常在想,公司舉辦這些活動、高層們總是喜歡提願景,這些究竟可以對台下的人造成什麼影響呢?會不會把時間讓我們這些人去寫程式還比較有生產力呢?我沒有待過其它公司,不知道是不是每間公司都會找屬下來開這種會,而我確實相信願景可以帶給人們改變、確實是會讓所作所為帶來不同。幾次的討論中,不難發現真的有些人會對於問題提出自己的意見與看法,那都是他們幾經思考反芻的,而不是臨場的伶牙俐齒,原來公司裡頭真的有人在思考,而目前看來,公司也歡迎各種意見。

再過三天就要填志願準備分發到 team 去了,一個多月的 TrendSchool 生活或許不夠真實感受一間公司的氣氛,但到了 team 就能比較真實嗎?還是只是反應了 team member 間的氣息呢?但至少應該會比在 TrendSchool 好,其實研發代替役的合約上,我們也是有試用期的,公司試用我們,我們也得試用一下公司啊~可惜的是,公司少了我,還有千千萬萬的阿宅工程師,但我卻只有成功嶺大饅頭…

一直想寫些介紹公司的文章,不過身為一個月新人,寫太好好像過度吹捧,又還沒真實經歷過,寫太糟,我就變成草莓族了…

想起兩個月前,Career 雜誌的專訪問說:選擇趨勢會不會後悔?…兩個月前我連大頭兵都不是,實在無從悔恨起啊!不過現在不同了,希望下一個月後,沒有後悔來這研發替代役…

看待公司的政策措施其實是蠻有趣的,到底我們是勞資同舟共濟呢?還是壁壘分明呢?或許有時候,應該放下一個憤青的矜持,不要以拒絕表示自己的清高和與眾不同,有點矛盾、有點複雜,在這個世事無絕對,買安泰也不會比較好的時代,或許我們應該相信人性本善,先從認同做起,才能瞭解一件事物,進而將它放入心裡,想起大四去聽亞洲微軟研究院院長沈向洋的演講,他說:他最驕傲的一件事是,他的老師在他唸博士班的時候拿到 Turing Award,而不是他找了一個得了Turing Award 的人當指導老師!認同一個地方在幫助他成長永遠是一件美好的事!耶,不過我好像沒幫 SCREAM Lab. 寫出什麼驚天地、泣鬼神的論文或作品,囧rz…

 

PS. 其實這篇文章原本是要說明年(2009),趨勢又要開始舉辦程式競賽了!!這次不是百萬程式競賽,而是騰雲駕霧程式競賽(-,- 很有趣的名字),不過顧名思義就是針對 in-the-cloud computing 命題,賽前會有訓練課程,應該下個月就會有海報文宣了,希望有興趣的學弟妹們可以抽空參加!(不負責任說法:聽說組隊都是女生的話入闈機率會增加唷!)

一個月了

哇,一個月了,當然不是交女朋友一個月了,更不是什麼分手失戀一個月…是上班一個月了!這一個月過的很快,認識了很多朋友、前輩,也學到了很多東西(雖然大部分都是討人厭的網頁 -,-),原本打算寫點東西紀念一下,無奈在這麼有意義的一天,肚子在鬧脾氣,唉啊啊,轉眼看看blog 的 pending list 也積了很多文章,真不想說,沒列上去的還更多…想講古虎爛的東西很多,時間卻很少,真是佩服那些技術底子深又能文章多產的大師們,今天的流水帳就到這,我要去床上躺平,台北的冷天氣,可是很適合睡覺的 : )

請假拔牙

沒想到上班不到一個月,就請了近半天假去看牙醫,真是始料未及,終究,又回到了要請假的年齡了!!不過擺脫惱人的智齒還真是令人愉悅啊!

去的診所是從小看到大的,一家三代都給這醫生看過,醫生的手藝很好也很親切(醫生娘沒看過,所以就不附圖了),看著這診所從小變到大,簡陋到有裝潢(雖稱不上富麗堂皇),一路看來,只能說牙醫真好賺,我要做多久才能買自己的房子啊~老爸已經再問我的規劃了 -,- 你兒子才工作三個禮拜,又不是三年…

話說回來,這兩次看診的經驗還蠻特別的,醫生跟以前不太一樣,有點給人一種趕下班的感覺,雖然手還是很巧,但拔牙前後的叮嚀與搞笑橋段已經沒了,哈,看來是我已經變成大人了,醫生懶得跟我玩小時候那一套了 Orz

想想,這醫生至少也在這開了二十年的診所,什麼樣的工作可以讓一個人做二十年?偉哉二十載,我才工作二十多天,就有幾天曾因為上班塞車而意興闌珊以致舉步維艱,竟然有人可以工作二十年、三十年、四十年,除了養家糊口之外,或許有些人一開始都有著自己的想法在,但能勿忘初衷而沒把自己賣給公司的能有多少呢?

勿忘初衷!就像我對 web programming 的初衷就是黑特(hate),即使這幾天寫作業我假裝喜歡它,但現在想想:我還真是會騙自己…

我的初衷:

I hate web programming…
I hate script languages…
I hate markup languages…
Making humans edit XML is sadistic…

勿忘初衷,讓我想起以前在實驗室寫惱人的報告文件時,寫到恨意無法宣洩時,總會拿起幾本 C++ 的書來看,讚嘆一下、膜拜一下,讓我放下心中的恨…

勿忘初衷,讓我想到某屆學長們口耳相傳的、老師的一度口頭禪:

Every thing has a purpose.

有時候 purpose 就是你的初衷,要能不忘本意設計你的軟體總是很難,因為軟體的世界,總是佈滿有趣的叉路啊~

勿忘初衷耶,幾乎每年的生日卡片上,我都會看到這句話,朋友總是在身旁提醒著我,揪甘心!雖然有時候會看成勿忘在莒 XD 但我相信,理想、堅持這類事,決不是一個人咬牙切齒就好的,就像電影霍元甲裡頭說著:

活著,從來都不是一個人的事一樣!

靠著家人、朋友的支持與幫助,我們才能走下去,理想與堅持也才有意義…我們總是在從事服務業,服務自己、家人和朋友的人生!

PS. 初衷也可以是賺錢 by 老爸 Orz...
PS2. 人老了,拔個牙都可以寫一堆有得沒得 Orz...

牙齒痛啊…

原來牙齒痛是這種感覺,天啊,痛到睡不著了,喝了點溫水似乎可以舒緩一下,但馬上又痛起來了,一直含著溫水也不是辦法!明天還要上班、還有作業的 deadline,這一定是某種程度的報應吧!

這個時間點真是尷尬又有趣,前兩天才拔掉另一顆蛀掉的智齒,早知道應該相信直覺,先拔現在在痛的這顆!

抱著死馬當活馬醫的心態,上網 google 牙痛,竟然有人說用 10% 的漱口水漱口可以得到馬上舒緩,這真是太神奇了,可是我沒有漱口水,難道要衝下去小七買嗎?現在買兩罐還打五折 -__- 更神奇的是,有人說叩齒一千次,可以治好牙痛!!好吧,我要來開始叩齒數數了,效果怎樣?白天再跟大家分享…

智齒啊智齒,你的生長,我來不及參與;你的凋零我深刻感受到了…

破相了…

開工兩個禮拜以來,差不多都是八點出頭就到公司,可以說是同梯裡頭最早到的,這當然不是因為勤勞,完全是因為怕塞車而已…

人家都說君子慎其獨,身為一個小人,閒居為不善,無所不至是我的天職。因此,我往往是人到了,放下早餐、放下書本,跑到遊樂室去玩投籃機或坐坐按摩椅,當然這種玩物喪志的生活,很快就帶來報應了…

今天投著投著,不知道怎麼回事,覺得渾身是勁,左手就出了過大的力,因此球出去的軌跡太高,打到了投籃機的鐵架,然後彈回來,好死不死正中右臉,眼鏡的鼻架就在右眼下留了一到傷痕,當然,小人也有小人的志氣,含著淚也得把一百球投完…

結果還不到五十球,隔壁部門的大姊姊來上班了,進來遊樂室倒水,害我很不好意思得趕緊跑去廁所整理一下狼狽樣,這大概就是小人見君子而後厭然吧…

我討厭搭公車上班

開始上班了,上班就要通勤… 公司的一切,在目前看來都很好,惟有工作的開始與結束,都讓我覺得很痛苦,因為要搭公車,滿滿的人,有時候在想公車會不會因此爆胎了…

身為偽台北國的一份子,每天認命早起搭公車進城是我的天職,第一天當然也不例外,等公車時,想起九年前的九月一日,那年我高一,九月一日是開學的日子,心理對於能搭公車上下學可是很高興的,因為從小對於重慶南路的書店就有股憧憬,暑假常吵著小阿姨帶弟弟和我去那打發時間,有時候,一個禮拜會去上三、四次,長大了,終於可以一個人坐車到那麼遠的地方了。

不過現在不一樣了,從成功嶺回來後,我已經是個頂天立地、成熟穩重(?)的大人了,怎麼還會對能獨自出遠門上班高興,而且如今面對我的是恐怖的安康路,安康路是安坑對外的惟二聯外道路(分別到景美、中永和),雙向只有四線道,然後還要扣掉路邊停車、地下污水施工,已經跟兩線道相去不遠,可是、可是,光是安坑住了至少十萬人,到了新店市區還有十萬人,Orz,每天上班時刻,公車的乘車品質真的是很糟,沒有座位不說、有些人喜歡擠到你身旁搶扶桿、別人背的大包包會頂著你、背背包會變得很麻煩,容易頂到人、也容易擋路、有時候東西太多就會很麻煩,此外,上下班時間,公車一定是走走停停的,人家離人的歌詞是寫著:銀色小船搖搖晃晃彎彎懸在絨絨的天上,多美啊,我卻是:沙丁魚公車搖搖晃晃彎彎塞在坑坑洞洞的路上。況且,無論哪個時間點,總是很多人,早起有國中生、晚點有上班族,要想有個座位,大概要搭 6:20 ~ 6:50 左右的公車…光是等公車,我就開始懷念過去六年住學校宿舍的從容悠閒了…

相信嗎?上班的兩個禮拜以來,我每天都在作紀錄,紀錄我每天上下車的時間:看是否可以得到某線公車在特定時段的的乘客數量;加上到公司的線有三個(根據行走路線,個別假設為短、中、遠三線),因此還得觀察三線公車前後七分鐘的互動,運氣好,先行的遠路線公車可以 cover 到慢行的短路線公車,至於怎麼預測遠程公車走後幾分鐘,會有短程公車呢?除了燒香拜佛,只能靠直覺了,總之,最後,我終於得到一個了上下班的好時間了…

所以我現在每天:
7:10 ~ 7:20 到公車站,搭乘無座位公車,約 8:10 買完早餐抵達公司座位
19:10 ~ 20:00 到公車站,搭乘有座位公車,約 20:10 到家

寫完這篇文章,我發現我瘋了,竟然做起這麼無聊的事,唉,我想起小時候跟朋友說我喜歡坐公車的感覺,他們都說我瘋了,如今,事過境遷、物換星移,我終於討厭起公車了…

但寫完這篇文章,我也發現我當初沒有投內湖、汐止的公司是對的 Orz 那邊離我家更遠,而且還要換車,有一次去 water 學姐公司報告,我竟然花了兩個小時才到那…

寫著寫著,就想訐譙一下,我記得我國中還是高中時就看過政府在實驗公車到站時間的系統,幾年過去了…連個影都沒看到,污水下水道系統也是,從我念碩士就開始挖馬路,挖到我都畢業了…更扯的是,環快的中安大橋,從我要去台南念大學就開始建了,學士、碩士我都念到了,還沒建好,是不是要等我念個博士回來,才能看到它完工啊…

回家的 fu

換穿長褲、戴上帽子、出門買牛奶,才踏出大門,一種回家的感覺油然而生,買牛奶不用再等微波、牛奶買的是家庭號,所以不會在路上就喝完了、看到影音店還可以進去租片、出門前老爸不忘提醒幫買下酒花生和統一肉燥麵,原來這就是回家的感覺,平平凡凡的!

然後,明天就要上班了!

小朋友真可愛

中午吃小火鍋時,隔壁桌坐著一對年輕夫妻外加他們的小女兒,妹妹長得很可愛,大約三、四歲吧,嘴裡吃著東西,還不忘東張西望。

媽媽:妹妹啊,要不要吃豆皮啊?吃了可以變聰明唷,而且還可以變漂亮唷!
妹妹:漂亮,馬馬要讓我變漂亮啊~
媽媽:那要不要吃啊?
妹妹:不要!
媽媽:可以變漂亮,為什麼不吃啊?
妹妹:那妳要放在我這邊(指妹妹面前的鍋),這樣~這樣我才能吃啊,不然馬馬還要弄過來~
媽媽:那我把它放到巴巴鍋子裡,巴巴再夾給妳,好不好啊?(爸爸坐在女兒旁邊,共用一鍋)
妹妹:好啊~那我就要吃
Keiko:XD

哈哈,養小孩真是一件辛苦又好玩的事,要他吃飯、做事要麼三催四請,要麼就連哄帶騙,不時還會聽到一堆搞笑、無回厘(音:ㄌㄧˊ)頭、令人噴飯的回答!而且,怎麼女生小小的就都已經知道什麼是漂亮不漂亮、美麗不美麗了?囧,我好像是到小二才開始能分辨男生、女生啊!至於怎麼分呢?找他/她玩變形金剛遊戲就知道了,肯跟我玩的就是男生,回答“神經病”、“好無聊”、“我不要的”就是女生啦 XD (我是奧托巴金剛,你是惡魔黨,進攻~ Orz ...)

PS. 不知道以後,我會掰出什麼樣的理由騙我的小孩,我到底要不要讓我女兒知道男生其實是很邪惡的呢?

PS. PS. 坊間書局不知道有沒有那種“第一次,哄小孩就上手!”、“一百個讓小孩吃飯的連哄帶騙對話輯”的書放在育兒區!小朋友區倒是可以放“一百個不可不知爸媽讓小朋友吃飯的謊言”…

PS. PS. PS. 噗哧學姐:你會不會想太多 -__-|| (學姐讓我有陰影了…)

噗哧學姐

感傷完了,來講個有趣/機車的事好了…

由於周家有個離家六年的游子要歸來,周家老爺和夫人很高興地開始裝潢要給大少爺住的房間,還打了電話要這大少爺,想想看,心目中的房間,要生做怎樣?

這大少爺不加思索地就說:我想要有 L 型的書桌,其他隨便!

老爺、夫人:遵命!

電話ㄧ掛掉,少爺馬上想到,房間已經有國二就做好的書桌了,要擺 L 型書桌進去,得打掉原本的東西,相當麻煩!而少爺冰雪聰明、乖巧懂事、善解人意,馬上又打了電話回去跟爹娘說:還是一切照舊就好,不用改了!

為何呢?其實道理很簡單,因為少爺正值青春二十四,搞不好五年後就結婚了?搞不好就搬出去住了?搞不好要改成雙人房?搞不好是二少爺奉子成婚,大少爺得騰出房間…太多的搞不好,但總之就是現在砍掉重練是不划算的…

這一切的一切,都由大少爺跟實驗室朋友在聊著,然後走在後頭的學姐,突然噗哧ㄧ生,大笑出來…

學姐:五年?會不會也太快了?還有你會不會想太多了啊,學弟?

大少爺心中的 OS:女馬白勺,我就是行情差啦…我杞人憂天…我都說了是最快,妳想怎樣…我馬上上 O2 徵一個給妳看…不然烏克蘭也是有好女孩的…

故事說到這裡,大少爺已經惱羞成怒了…

還有我不會承認我就是大少爺…

該來的總是要來…

ByeBye ...

終於,引頸企盼、千呼萬喚的畢業證書在今天(據說今天好像是辦離校的最後一天)到手了,經過了這麼多人的簽名,過程就像集點一般,奔走於校園內,好像把這兩年來逛校園該走的路都走完了,太陽公公也很機車地一直好奇地跟在我身後 -__-||

看,畢業證書 Got!!!
 test
(V 怪客是我最近的英雄!Beneath this mask there is more than flesh. Beneath this mask there is an idea, Mr. Creedy, and ideas are bulletproof.)

拿了這張畢業證書後,我想再也沒有理由是讓我強迫性地留下了,以後的出現都是發自內心地想回來看看…

這個待了六年的大學、三年半的實驗室,我還記得當初想進 SCREAM Lab 的原因,老師記得要稱讚我初衷不忘啊~我也曾經迷惘過,專題是不是隨便就好?研究所是不是應該找個涼一點的老師?這樣我有很多時間可以做自己想做的事,直到我在趨勢競賽頒獎典禮上看到了小路和禹鴻。另外則是  mobo 學長,他是我高中社團的學長,雖然當時不太熟,但他也拿過趨勢競賽的名次,同時也是 Alvin 老師的研究生,所以我還一度以為進這實驗室,是不是都要先通過 trendmicro 的 QA 檢測 XD,而且還聽說 SCREAM Lab 裡頭有個叫義崧大魔頭。哈哈,那也就沒什麼好選的了,我從不期盼自己能做出偉大的研究,只希望自己能在程式撰寫中得到樂趣,這麼多高手前輩認可的實驗室,我不進來,難道我是笨蛋嗎?

在詢問老師意見前,我對老師的印象只有大一電子電路課,老師是個跳 tone 大王,投影片跳來跳去,好不混亂 -_- 但有一天,老師帶了本天下雜誌(?!)進來,然後搬了一張學生的課桌椅坐下,整堂課就是在講台灣與韓國,談到產業、留學生等問題,哈,我這人最愛不務正業,看來這老師也很愛不務正業,喜歡聊天、感召學生。其實我ㄧ直都在想,我都唸大學了,知識都寫在課本上了,不是自己念舊好了嗎?為什麼得乖乖來上課呢…所以我一向喜歡愛聊天的老師,因為那些講出口的經歷,才是課本沒有的…

專題前,為了更瞭解 SCREAM Lab ,我跑去修了老師的資料壓縮,還旁聽了一下 NN 。很快地,ㄧ學期的時間就快沒了,身旁的同學都已經找到專題指導教授,我這樣再龜下去也不是辦法,硬著頭皮跑去找老師。第一次果真是震撼教育,老師問我想做什麼?我講了很多,但都一一被婉轉化解,要嘛說這已經有了,要嘛說其他老師也有做之類的,總之一個整不想收我,囧rz 看來我是敗絮其外…最後,老師請我回去想想,一個禮拜後再去找他…

一個禮拜過後,依稀記得是星期四下午五點十五分吧!我在老師門口觀望(老師也剛好不在),湊巧小路學長經過,閒聊中知道我想請 Alvin 老師做專題指導,便很熱心地說等會要幫我推薦,還陪我等了一下老師,哈哈,那時,我才跟小路學長碰不到五次面、講不到十句話過,學長是個好人,老師則是個好騙的人,因為那次之後,我就有了新身份: SCREAM Lab. 專題生!

今天畢業了,老師給了我最後一個論文題目,那就是以後要健康快樂!健康快樂啊,SCREAM Lab 的大家,健康快樂啊,老師,謝謝你三年半來的放縱與教誨,學生很高興能成為 SCREAM Lab 的一員!

明天就要回台北了,今晚是最後一次在 Lab 熬夜啦~

今晚之後,我就不是南國少年,周 NK 啦~

宅宅要運動

taiwan army

為了迎接即將到來的四個禮拜軍旅生活,上禮拜開始了跑步的夜生活,當然一個人跑步很無趣,兩個人跑步則會喘不過氣。所以有時候也會去打打籃球,希望能找回從前黑夜籃球手的美名。

當然,事情從來沒有憨人想得那麼簡單,第一天打球時,ㄧ開始覺得背緊緊的、肩膀酸酸的,果不其然,沒過多久,下背就拉傷了…當下只想到從前看到的老人保險廣告,廣告裡,老人放下了話筒,說了:人老了,不中用了,連買個保險,都不行!天啊,我竟然感同身受,當然不是頓悟了什麼民胞物與、人飢己飢、人溺己溺、老吾老以及人之老之類的偉大哲理,而是覺得整天坐在電腦前,好像讓自己的身體虛弱了,有種“人老了,不中用了,連打個球,都不行”的感慨!這裡拉傷、那裡拐到…難道我這二十四歲的青春靈魂其實寄居在四十二歲的中年肉體上嗎…

走在回宿舍的路上,想著改善之道,然後想到我的研究所老師 Alvin(為什麼要用研究所老師而不用 Alvin 老師呢?因為講研究所老師聽起來好像已經畢業很久了,有種滄傷感 XD),好像去年吧,也曾經為了背傷肩酸所苦,嚴重到要打類固醇,更慘的是,還要趕 proposal 、改論文。天啊,殷鑑不遠矣… 做人不能鐵齒,運動當及時,宅宅啊,走出戶外,世界是美好的,程式不會因為多寫ㄧ、兩個小時就可以動了…

友藏 

:我聽你在馬後炮!

 

三個月前一直有跑步的習慣,記得當時已經能一口氣跑六圈(約 2400 m),雖然一點都不傲人,不過我還是很得意,科科。後來因為開始喝牛奶、趕論文、灌蠻牛後就停跑了,就這樣到了口試結束,回台北量了體重,發現自己發胖了,胖了有五公斤左右!雖然很爽,不過還是很困惑到底是因為喝牛奶胖了呢?還是因為跑步,我已經擁有運動員般的體質,所以ㄧ停止運動就胖了?科科,有胖就好,目標六十六,衝~

Bat-Buddy 

:知道嗎?不運動,連 Batman 也會變 Fatman 喔!

簡單利用 Visual Studio 2005 產生 C/C++ 的 asm

  1. 開啟專案屬性(Project Properities)
    step 1
  2. 選擇 C/C++ -> Output Files -> Assembler Output
    step 2
  3. Output 的類型有四種:  step 3
    • Assembly-Only Listing。產生一個 *.asm 檔。檔案中只有組語,並有 ; Line 2 這類註解告訴我們,下列組語是從那一行轉換出來的。Assembly-Only Listing (FA)
    • Asssembly, Machine Code and Source (/FAcs) 。產生一個 *.cod (C/C++ code listing) 檔案,並有 ; 3 : int c = a + b; 這類註解,標示了原始碼,所以比較適合用在與原始碼的比較。另外也輸出 machine code ,就是那些四個十六進位一組的數字。Assembly, Machine Code and Source (FAcs)
    • Assembly with Machine Code。一樣是 *.cod 的輸出,註解沒有原始碼的嵌入,但有 machine code 。Assembly With Machine Code (FAc)
    • Aseembly with Source Code。因為沒有 machine code 的輸出需求,可以產生 *.asm 檔,版面更精簡了,也蠻適合用在與逐行研究 C/C++ -> assembly code 的比較。Assembly With Source Code (FAs)

P.S. 明眼人也知道這篇是騙文章數的…

利用 WLW plugin: Syntax Highlighter 貼程式碼

前言

Syntax Hightlighter 是個 Windows Live Writer (WLW) 外掛程式,可以幫助我們在 blog 上貼上程式碼,這是個相當感人的。為什麼呢?因為打從網際網路普及後,個人首頁(烘培基時代)-> 留言板時代 -> 論壇時代 -> Web 2.0 ,管他什麼時代,想在網頁上呈現好看的程式碼一直都是件麻煩的事,以 C/C++ 為例,有討厭的 <, >, 要處理、縮排也是麻煩、更別說要有五顏六色的 syntax highlight。

古來,正房會對二奶說:女人何苦為難女人!我剛開始寫 blog 時,也很想說:程式設計師何苦為難程式設計師!難道寫出 WYSIWYG 的程式設計師都沒有自己的網頁嗎?難道他們都不在自己網頁貼程式碼嗎?怎麼一直沒有一個好一點的編輯工具呢…

不過從來訐譙的人也不會是解決問題的人…所以好多年過去了,終於有好心人做了一些外掛程式來解決我們的需求。Syntax Highlighter 就是一套這樣的軟體,而且還與 WLW 整合在一起,提供了便利的編輯介面。

安裝

  1. Syntax Highlighter for Windows Live Writer 可在 http://www.codeplex.com/Highlight4Writer 下載。
  2. 下載後,是個壓縮檔,但解壓縮後竟然也沒有安裝檔,竟然是一堆 .dll, .xml 的檔案。
    unzip 
    不要慌,根據程式設計師的第八覺,這種程式的安裝方法:通常是把所有檔案、資料夾複製到主程式所在的資料夾下的某某資料夾下。
  3. 沒錯,請找出您 Windows Live Writer 安裝的目錄,並將步驟 2 的檔案、資料夾複製到 plugin 下。
    例如:我的 WLW 主目錄是 C:\Program Files\Windows Live\Writer。
    那就請將檔案都複製到 C:\Program Files\Windows Live\Writer\Plugins 下吧。
  4. 重開 WLW,會在右方的 toolbar 發現出現了插入 Syntax highlighted t... 的功能(如下圖紅框處)。
    syntax highter for WLW 
  5. 點下後,會出現一個編輯視窗,就可以貼上複製/打入程式碼了。下面是一個 C++ Hello World 的範例。syntax highter for WLW Test editor
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	cout << "Hello World\n" << endl;
    	return 0;
    }

More

如果我切換到 HTML 模式去看一下,可以發現程式碼片段變成了:
<pre>#include &lt;iostream&gt;
<span style="color: #0000ff">using</span> <span style="color: #0000ff">namespace</span> std;

<span style="color: #0000ff">int</span> main()
{
	cout &lt;&lt; &quot;<span style="color: #8b0000">Hello World\n</span>&quot; &lt;&lt; endl;
	<span style="color: #0000ff">return</span> 0;
}</pre>

這個外掛程式是透過 inlined css 去標色、排版,跟以往見過的幾個外掛不太一樣,之前見過的外掛程式通常是透過修改 blog template 去 include 別人寫好的 css ,而且會有一些便利的小工具,例如:我目前用的 SyntaxHighlighter ,他是用 JavaScript, CSS, flash 做的,同樣的 hello world 程式碼的版面會豐富點,有複製按鈕可按、相鄰行會變色等:
#include <iostream>
using namespace std;

int main()
{
	cout << "Hello World\n" << endl;
	return 0;
}

不過這套軟體似乎還沒有好心人幫忙與 WLW 進行整合,因此得手動切換到 HTML 模式,與 tag 進行肉搏戰、還要注意 <, > 這類 tag 的轉換 >< 而且由於是 run time 的去 link 外部 css 等程式,因此在 WLW 是無法預覽 syntax highligh 後的效果。

8/22(五) 回台北

ticket2

又回台北了,哈,不過這次跟以往一樣不會待太久,下星期二就回台南了,要準備送 181 上路,順便砍砍大樹、印印論文、悲情準備離校,不知道會花個幾天…還好英明神武的系主任今天出差,一時拿不到論文合格的系所主管簽章,不然或許就要 29 號才回台南,現在待在台南總是要有個好藉口給爸媽。

為了體驗這最後一次異鄉遊子外出唸書,隻身回家的複雜情緒,老天爺還很幫忙地在昨晚安排我失眠,深夜裡,好像下了兩、三場大雨,一個人住了一年的日子終於要結束了,坐在床上、趴在桌上就是無法入眠、去 lab 的路又被大雨阻隔…這時候做什麼都不對…有點慘…

咕嚕咕嚕是魚缸一聲聲的水聲,平時聽不太見,或許是這麼靜的夜晚,一切都聽得很清楚,突然想到 Alvin 老師說過:做人要常常對自己的心說話。此時此刻此景,突然想跟自己的心講講話,卻發現他不願意跟我裝熟…我想也是,自從高中畢業後,心中總是被一些過去的事盤據的,忘了生活的喜悅與美好,逐漸讓自己遲鈍起來了,大三那年突然發現自己寫不太出東西了,已經分不清楚是因為生活太過平淡、缺乏激情呢?還是已經失去對生活的敏感…有點像是行屍走肉…這麼安靜的夜晚、這麼美麗的夜晚、我卻不到自己的聲音…有點悲哀…

想起大前天老師找我去聊天,老師劈頭就問:怎樣?這些日子有什麼感想?有沒有話對我說?還快樂嗎?
這麼突如其來的問題著實讓我嚇了一跳,話術有云:講話如丟球。我不擅於丟球,也不善於接球,哪怕這只是顆軟弱直球(?!)。
但我要說,老師,我真的很真誠的要說:這三年半,我過得很快樂。您給了我很多時間讓我去嘗試、摸索我感興趣的東西、讓我在 Software Meeting 上報告這些這麼不學術的東西、而這些東西,我知道別的老師往往是不重視、甚至嗤之以鼻的。一入侯門深似海,其實選老師、進實驗室何嘗不是呢?但我很慶幸,過去三年半,我從沒有抱著“頭已經洗一半了,怎麼可以不洗下去”的心態去渡過在 SCREAM Lab 的每一天。

SLIM 草創初期的 Meeting 現在回想起來,還是讓人莞爾而笑。因為我們總是有很多東西可以 argue 、發想一些有的沒的、提出各自的看法,然後互相“攻訐”一下,那段時間是美好的,不過老師說得對,實驗室人總是來來去去的,送走禹鴻、mobo,今年就要送走我了,我的 Software Meeting 已經結束了 >< It's over…

老師啊,我不會把你從 msn 刪除的,還有,我想我會常回台南的,我是真的喜歡天氣好的地方。

渭城朝雨浥清塵,客舍青青柳色新,
勸君更盡一杯酒,西出陽關無故人。

謝謝老師用王維的詩送我啊~

一路上,統聯下了許多交流道,令人出乎意料地看見了許多間 7-11,連車上播放的日本電影都有,從來沒注意過,原來身邊有這麼多 7-11 ,我都忘了,也應該找個時間去跟小七的朋友說再見…

好文分享~研究生症候群

轉錄的,三年前當專題生看過一次,現在要畢業了當然還要再看一次,而且還要看一下自己有過哪些症狀!切身之痛、嗚呼哀哉~

藍字是感覺自己曾經有過的症狀…原來還不少…

研究生發病期

潛伏期:不定。
傳染性:無。
感染人數:全台每年約十至十二萬人。並無性別年紀的區分,只要身份為研究生,通常都會罹病,極少倖免。

關於本症候群,約莫能粗分為三大時期。

初期:

通常發生於準備開始寫論文時,有以下幾種指標型症狀。恭喜!你已經進入本症候群的初期狀況!

症狀:
(1) 覺得自己挑的論文題目簡直棒呆了,這麼棒的題目,怎麼沒人發現!?天助我也!
(2) 覺得自己天縱英才,就算沒能寫出絕世論文,也將撇出矚目佳作。
(3) 作研究回顧時,覺得他人的研究成果不過爾爾,狠狠地痛批別人一頓,快意快意。
(4) 能夠草擬出自認為天衣無縫的研究計畫以及進度表,並能與他人侃侃而談,意氣風發。

中期:

這一期通常發生於論文開始動筆之後,發病時間很長,還能細分為三個階段,各有不同,茲說明如下:

第一階段:通常發生在寫大綱後動筆前。

症狀:
(1) 開始瞭解,連寫大綱都不是件容易的事情。
(2) 發現資料居然出奇的難找,開始懷疑有寫出絕世論文的可能,而且懂得為何別人 都沒挑這個題目的原因。
(3) 發現懂的東西實在太少,終於瞭解「書到用時方恨少」的道理,但是已經徹底來不及了。
(4) 根本不敢動筆,「準備不週」的恐懼隨時縈繞心頭,怎麼寫都覺得不對勁,怎麼看都覺得不爽快。
(5) 容易累,容易疲憊,容易想睡。開始害怕老闆的電話與 mail,覺得圖書館是個麻煩的地方。

第二階段:通常發生在實際動筆之後。

症狀:
(1) 對任何跟論文相關的東西絲毫沒有興趣,但是對於論文以外的東西非常感興趣,通常會附帶學會第二專長,像是:室內布置、煮咖啡、打毛線、美容、占星、打PSII、唱KTV、學會怎麼使用Lovema。
(2) 開始思考一些從來不會思考的問題,像是:「我活著是要幹嘛的?」、「這篇論文的價值在哪裡?」、「我這樣寫會不會被告?」
(3) 開始制訂玩耍計畫,小至下午茶,大至海外旅遊,通通有興趣。
(4) 對於「計畫跟不上變化」這句話,不僅認同,簡直是實地體驗。
(5) 弄不清晝夜晨昏,醒來通常已經是午後,甚至天黑,作息混亂到根本不知道該吃早餐還是午餐。
(6) 學會快速轉台,甚至能清楚的講出每天電視的節目單。
(7) 體態有嚴重的改變,可能狂肥,可能狂瘦。
(8) 逃避所有Meeting,能躲老闆躲多久,就躲多久。

第三階段:通常發生在論文繳交期限前一個月。

症狀:
(1) 完全沒退路的狀況下,只好硬著頭皮上,對於能寫出啥子東西,完全沒信心,瞭解「不忍卒睹」的真意。
(2) 面對胡言亂語的內容,開始努力說服自己抄襲。
(3) 挑戰身體極限的活動逐步出現,像是:「連續30小時不睡覺!」、「挑戰一天打一萬五千字」。
(4) 發現跟老闆Meeting是天下最恐怖的事情,老闆不用作啥,看著初稿不說話就夠嚇人了。
(5) 開始使用Word裡,「邊界」、「行距」跟「字型大小」的功能,努力擴大篇幅。
(6) 抗壓性極低,任何風吹草動都令人抓狂。
(7) 覺得「能寫完論文」就是一件很了不起的事情了,別想說要寫得多好, 寫完就好。
(8) 根本不知道外頭天氣為何,伴著你的就是鍵盤跟螢幕。
(9) 覺得看這本論文的人,全世界加一加大概不會超過五個。
(10) 避所有Meeting,能躲老闆躲多久,就躲多久。
(11) 站在鏡子前,會驚訝的發現:有個邋遢的野人在鏡子裡頭瞪著妳看。
(12) 非常希望一覺醒來,發現自己還沒念研究所。
(13) 本來想感謝一堆人的,但是已經沒氣力寫謝辭了。

末期:

這一期會發生在口試本交出後,等待口試前。
症狀:
(1) 對於交出的東西害怕不已,用便利貼貼住自己覺得有問題的地方,竟然幾乎佈滿整面。
(2) 根本不知道口試會發生啥子事情,驚愕不已,鎮日睡不好。
(3) 忽然間意識到房間竟然亂到不行,非常懷疑自己怎麼能在這樣的地方活。
(4) 拜拜的時間變多,希望口試時遇到好人。
(5) 開始思考未來該怎麼辦?懷疑自己根本不適合學術圈,並嘗試詢問雞排店以及飲料吧的加盟辦法。
(6) 開始煩惱該花多少錢印論文。
(7) 對於自己曾經堅持把一部無聊的連續劇從頭看到完,驚訝不已。
(8) 忽然間想起另一半的存在,不過,另一半可能已經不見了。
(9) 覺得很對不起「樹木」。

病癒:

口試通過,拿到畢業證書後的後遺症,延續期間不定。
症狀:
(1) 有一大段時間無法閱讀「文字」。
(2) 嚴重退化到無法想像的地步,可能是國中,可能是小學,可能是奶娃。
(3) 開始動手整理房間,可能還會找到寫論文時一直找不到的資料,但是通通來不及了。
(4) 一段時間的狂玩,狂吃,狂睡,除了當豬之外,沒別的志願。
(5) 煩惱畢業即失業的問題。

圖片加密測試

加密圖片的方式跟加密文字一樣,只不過進了加密網頁後是將貼圖片的 html tag 進行加密。

例如我有一張圖,它位於http://Keiko.Zhou.googlepages.com/calado.gif,那麼它的 HTML tag 是<img src="http://Keiko.Zhou.googlepages.com/calado.gif" />,那我就將這串 tag 拿去加密。

下面是個 demo ,密碼是:Test

Show encrypted text

如何張貼加密文章

blogger 的好處就是彈性大,彈性大意味什麼功能都要自己來 -__- 相當符合我這愛自幹的人生,可是我討厭寫網頁…

  1. 先下載一個必備的 javascript 檔 ,並找一個網頁空間上傳,或是人客妳/你覺得跟我很熟,願意跟我一起用同一個檔案 XD 那就請複製這個連結 http://Keiko.Zhou.googlepages.com/blogjscrypt.js
  2. 登入妳/你的 blog,編輯 blogger 的 template ,如下圖:
    ScreenHunter_02 Aug. 18 02.23
  3. 為了怕搞壞現有的 blog 樣式,可以先備份一下,俗話說:小心駛得萬年船。備份是種 common sense -__- 點一下下圖的下載完整模板就可以備份資料了。
    ScreenHunter_03 Aug. 18 02.25
  4. 將以下程式碼貼到 template 去(src 描述的位置,就是在步驟 1 上傳的位置):
    <script language="JavaScript" src="http://Keiko.Zhou.googlepages.com/blogjscrypt.js">
    貼的位置可以參考下圖,放到紅色框框處。
    ScreenHunter_04 Aug. 18 02.30
  5.   儲存範本。
    ScreenHunter_05 Aug. 18 02.39
  6. 以後呢,只要想發表加密文章時,只需要按照步驟 6 即可。請先到這個網站輸入密碼與要加密的文章。Key 的地方輸入密碼、Plain Text 的地方輸入要加密的文字,然後按下圖紅框的 Encrypt 加密。 
    ScreenHunter_09 Aug. 18 02.58   
    然後在更下方的 Cipher Text 就會出現已經加密好的密文,請複製這些密文。快速複製可暗 Cipher Text 下的 Select 按鈕。
    ScreenHunter_08 Aug. 18 02.58
  7. 加上一個步驟複製下的密文,貼到文章裡頭,貼法有兩種,但都需要進入 html 編輯模式。下圖分別是 blogger 線上編輯以及 Windows Live Writer 的 HTML 模式進入方式。
     ScreenHunter_10 Aug. 18 03.04 
    ScreenHunter_11 Aug. 18 03.05
    進入後,請貼上以下程式碼:
    <a href="javascript:Decrypt_text('請輸入一個 unique_id ');">Click to Decrypt text</a>
    
    <div id="unique_name">這邊貼上內容在步驟 6 複製來的密文(例如:wRxSwskrWsmohc1...之類的文字)</div>

    或是貼上
    <a href="javascript:Decrypt_text('unique_name', '這邊貼上內容在步驟 6 複製來的密文(例如:wRxSwskrWsmohc1...之類的文字)');">Show encrypted text</a>
    
    <div id="請輸入一個 unique_id "></div>

    請注意請輸入一個 unique_id 要輸入一個跟其他 html tag 不衝突的 id ,通常隨便取是不會衝突的,同篇文章有兩個以上的加密區塊時,記得也要取不同的名字唷!
  8. 大功告成。下圖分別是上述兩種貼法的結果,一個會顯示加密後的密文、一個不會。
    ScreenHunter_12 Aug. 18 03.17

參考資料

  1. [Javascript] Encrypt your private blog post

  2. 【Blogger】火星文加密大法!!

  3. Blogger Hack 密碼保護文產生器(2/7)
    這個參考資料還提供一個小工具簡化一下步驟。

加密文測試

demo 1

Click to Decrypt text (點擊此處解開火星文)
+tp4HMDQoTOneUP3c0M28x6ffO09dcN96RJ1MI/yJ+zm0BjN\nx0J+jhpdrl/12brGfkm9TTBYh/goAKbiE/LSSA==

demo 2

Show encrypted text

15:48 PM

走進系館,開了一下黃崇明辦公室外的燈,沒亮,看來電還沒來,關掉,突然門禁系統嗶一聲啟動,飲水機開始汲水,儀表板的燈開始閃爍,再往系館後面走去也是一樣,走近實驗室隱約可聽到低沉的馬達聲,原來是冰箱,走下去開伺服器,低沉的抽風聲卻已經開始了…

蠻特別的感覺,剛好走進系館,電就來了,拿起手機一看:15:48 PM。

聽說月底還會停一次電,不知道哪一次才是最後一次在成大體驗停電…

七月掰掰~

七月的最後一天,我竟然是做著惡夢醒來…沒關係,反正從踩到芒果的那一刻開始,注定要衰很久…

夢中我最好的朋友,竟然不再跟我講話了!!!

各位,你/妳說這有多恐怖啊!我是這麼重感情的人,怎麼禁得起這種打擊呢…

惡夢初醒,以為才六、七點,沒想到竟然已經十一點半了,最近實在是睡太爽,每天睡飽吃、吃飽再吃、然後再睡,莫名其妙就又胖了一公斤,現在已經是 53 公斤了, Oh, my godness!二十四年來最重的一次耶。看我爸暗爽的表情比聽到我可以畢業還誇張,我想這一刻他已經等很久了,加油,朝向一個月一公斤前進。

希望我不是用歡樂秤 XD

黑暗騎士 (Batman The Dark Knight)

TDK poster

看 ptt Movie 鄉民好評如潮、有看有推,又把希斯萊傑捧上天,這麼一部眾口鑠金,ㄜ,眾多好評的電影,怎麼能錯過呢?

Gotham_skyline Merry_christmas,_from_gotham_city

有別於以往的蝙蝠俠電影,這次的高譚市(Gotham City)可是長得很現實,不像以往有著高聳尖銳的天際線,看似文明開化的建築、雕刻,卻帶著腐敗墮落的味道,燈光背景也不在灰暗朦朧,更多時候,故事是在白天發生的。

而且這次還首度(?)讓蝙蝠俠出差到國外——香港,聽說有陳冠希出現,不過完全沒注意到,奇怪,我應該對他印象很深刻啊…

正義的代價是什麼?你又願意為它做出怎樣的犧牲?如果願意,你願意犧牲自己的生命、甚至你的朋友、家人嗎?面對正義與愛情,你會選擇何者?當生活中僅存唯一的支柱被剝奪時,你會發瘋嗎?善意的謊言其實是有存在的必要?

為什麼蝙蝠俠是黑暗騎士?有沒有白騎士(還是你更愛聖光騎士 XD)?當然不能雷你。

引用一下【蝙蝠俠:開戰時刻】一片的編導克里斯多福諾蘭(Christopher Nolan)說過的話:

「蝙蝠俠是一個被復仇慾望驅使的超級英雄,他是個凡人,也有很多缺點,但是他卻將這些毀滅性的情緒轉換成正面的力量。我個人認為蝙蝠俠在當今的社會更是一個意義非凡的人物。」

TDK Joker

如果你看過蝙蝠俠:開戰時刻(Batman Begins),記得來看蝙蝠俠:黑暗騎士(Batman The Dark Knight)。雖然很多人說女主角變醜了(胡說八道),雖然小丑殺人很變態(帶女生前去時,請三思,本人有切身之痛),雖然我覺得希斯萊傑(Heath Ledger)沒有像鄉民講的那麼神奇(死者為大,但平心而論),雖然哈維丹特突然變身會嚇死人(我真的被嚇到了),雖然高登局長竟然讓人催淚(Q_Q 我最喜歡的角色),但,它的劇情、特效、音樂還是值得去電影院欣賞的(當然不好看,我也是不會負責的,哈哈!)

Gordon

PS. 人老了,不吃維骨力就沒辦法上重樓,當然也就沒辦法為賦新詞強說愁了。寫文章還是要憑一股感動(or 衝動?),事過境遷、心情平靜後,就寫不出東西了,就像這篇一樣,過了兩個多禮拜,已經忘了當時的感覺了 <囧> 只記得走出電影院,旁邊女生花容失色的樣子,對不起啦,我不是故意帶妳來看恐怖片,只是想說我們這麼熟了,應該可以肆無忌憚地挑我喜歡的電影請妳看,沒想到…人不能鐵齒…

PS 2. 人真的不能鐵齒,我把機車停在沒有遮雨棚的廣場上,看著明亮的氣色,怎麼可能下雨,安全帽就掛在外頭,哭哭咧,我在為高登局長落淚時,老天也落淚了,是怎樣?我又不是許茹芸"我一哭,全世界為我落淚"咧,女生還有提醒我,果然國曆七月半也不能嘴硬…

掰掰,蠻牛~

由於美麗的錯誤與莫名的自信,過去兩個禮拜實在很充實,生活的密度相當高啊,大概是種 4-4.5-10.5-2-3 的生活:

00:00 ~ 04:00 寫程式、趕論文
04:00 ~ 08:30 睡覺
08:30 ~ 19:00 寫程式、趕論文
19:00 ~ 21:00 睡覺
21:00 ~ 24:00 寫程式、趕論文

這次碩士論文讓我學到很多。
如果又問我:什麼是世界上最遙遠的距離?
我一定毫不猶豫的說:
論文只差半章,你卻再也寫不下去了;
程式就快可以 demo ,卻卡了一隻 bug;
Streaming 的 progress bar 只差 n% 就跑完了,卻再長不出來;
一首已經知道下個旋律的歌,卻戛然而止;
網路線明明不到 50 cm 長,封包卻也跑不動了…

我還知道怎麼快速地討厭一首歌…
從前我總是挑喜歡的歌來做 demo 曲,大學專題是 Louis Armstrong 唱的 What a Wonderful World,碩士論文是理查克萊德門的夢中的婚禮(一定會有人問:為什麼前者是用英文,後者用中文?因為我碩士論文寫的程式才能處理 Unicode ,也才有中文 XD),原本拿自己喜歡的歌來 demo ,是件美好的事,我還曾經幻想過:看我 demo 的教授們會問我:為什麼挑這首歌?答案我都準備好了,不過想當然爾,沒有教授跟我一樣幼稚…

聽著自己喜歡的曲子戛然而止或發出怪聲,可能是答答聲或是跳著播放,實在令人難過,聽歌的好心情已經被膽顫心驚給取代了,無時無刻都在想:會不會下一秒就沒聲音了還是會有怪聲呢?還記得去年在某咖啡廳,聽到廣播放著 What a Wonderful World,內心的那種矛盾與驚奇,實在難以言喻…

還記得我跟代號小老鼠的同學說:我想學鋼琴,因為感覺瘋狂得彈著鋼琴,抒發自己的情緒,實在好爽唷~(我絕對不會承認是看到周杰倫的不能說的秘密 MV 才這樣想的唷!!!)

小老鼠同學:那也要你會彈啊,不然一直彈錯,好心情也變壞心情!
大貓太貴:天啊,你說得太有道理了!

還記得電影劍魚裡頭休傑克曼飾演一個世界頂級駭客,有一幕他瘋狂地敲鍵盤,然後就入侵了系統。駭客任務也是,總機先生快速地切換於螢幕、鍵盤間,然後完成一道道指示、命令。但是,門的另一貒,現實的世界,卻是如此殘忍,寫程式一點都不是電影上那樣 man …

…打一打就離題了,原本程式可以 demo 的感傷心情都沒了…唉唉…因為一些意外,星期天還得再口試一次,生日快樂好嗎?

老師啊,補課都是看錄影帶的,為什麼口試不能補錄影帶呢!!

PS. 整理電腦的桌面也是準備 demo 時另一件痛苦的事,有印象以來,我的桌面很少小於 7 排…

痛~痛~痛~我的左腳大拇指~

DSC05314small

實驗室的地板,鐵釘莫名突出 1 ~ 2 公分…下午準備去借口試預演教室時,左腳大拇指硬生生撞上去…

em-15

痛到哭爹喊娘,襪子一脫,都噴血了…

口試完,把襪子脫下來看傷口,結果裂開了,好痛…

可不可以不要再衰了

最近很衰,已經不知道該說什麼了…

一進實驗室就聞到一股塑膠燒焦的味道,不過淡淡的,想說是實驗室電器加上這幾天下雨的霉氣,沒想到一個小時後,味道越來越重!開始像條狗一樣到處聞來聞去,告非不皿,我的電腦好燙唷,機殼已經到燙到的程度,伸手一摸電源,嚇死人,裡面是住了小太陽嗎…

還好上個月無聊去買了一個電源放著,跟著文森學長把電腦拖出來,開始拔零件、清積塵,想想這台電腦也跟了我六年了,大一的時候買的,已經老態龍鍾了,伸手拔了兩個電源插頭,卡榫都應聲斷裂…

好不容易換上電源線,記憶體卻一直抓錯,825 MB 是什麼鬼數字,也修過不少電腦,怎麼會有這麼奇怪的數字,512 + 512 / 2 = 768 難道不是唯一解?橡皮擦、去漬油都用上了,好不容易才把記憶體抓到,進入 Windows ,然後網路卡就抓不到了…真想說:老天,你不要折磨我的電腦了,乾脆讓它整組壞壞去吧…

Keiko:加油好嗎?電腦:我都燒起來了,加什麼油啊~
Keiko:有沒有這麼衰啊…電腦電源比我的論文先燒起來了…

停水

下午去剪頭髮,聽阿婆說台南停水,讓我不禁緊張了一下。但我緊張的不是等下要去哪洗澡,而是今晚台南的正妹們該如何在 msn 上拒絕跟阿宅講話呢?

「嗯嗯、哈哈、去洗澡」一向都是運作很好的三部曲、三連擊,今天又該何去何從呢?

事實證明,我的擔心是多餘的,因為現在水來了 XD

不過不久前又發生衰事,我將洗碗精倒入手心中,準備洗眼鏡,轉開水龍頭,然後水沒了…總不能叫我把手心的洗碗精喝掉吧…

實驗室、廁所、飲水機旁都沒水了,好慘,在這古色古香的系館,不會要我蹲在草地上,用水窪洗手吧…

不要再跳了

昨天下午起,右眼下方的眼皮就一直跳,跳跳跳,不要再跳了,我知道妳累了,但是…

加油,好嗎?

聽說眼皮跳,可以用喜怒哀樂去算,可是到底是從左邊還是右邊開始呢?我從來沒搞清楚過,我只記得每次都從對我有利的方向開始數,您說這樣,好嗎?

7/18 今天比較衰

今天是小七小姐的生日,小七小姐,生日快樂啊!cake

不過畢竟主角不是我,所以我今天很衰,大概創了兩年來最衰的紀錄,是怎樣?老天把台股跌的點數都拿來加我衰運的點數嗎…

AM 10:00

驚醒,怎麼會睡過頭,論文還剩結論要補耶,今天就要印了,手機背叛我了…

AM 11:00

首頁不算頁碼怎麼用啊?目錄怎麼排版都會跑掉?手滑按了更新功能變數,文章參照都不見了…

PM 12:12

em-10

論文終於寫完了,可以印了!卡嗒、卡嗒,印表機一聲聲的捲紙就像廣告飲料 DaKaRa 一樣,是令人輕鬆的節奏!

印 42 頁:
EPSON NPL-N3000:豋,嗶~嗶~嗶~
Keiko:嗶什麼嗶,bbb 都不嗶嗶嗶了!
EPSON NPL-N3000:阿宅,是 JAM A 卡住啦!

印 61 頁:
EPSON NPL-N3000:豋,嗶~嗶~嗶~
EPSON NPL-N3000:阿宅,我又卡住啦,JAM C1 A 卡住啦!
Keiko:JAM C1 A 是哪啊? Strawberry Jam 我還聽過,C1 是哪啊…(摸了十分鐘)

em-2

印 67 頁:
EPSON NPL-N3000:豋,嗶~嗶~嗶~
EPSON NPL-N3000:我又卡住啦,JAM C1 A 啦!
Keiko:老兵八字輕…

em-5

印 69 頁:
EPSON NPL-N3000:豋,嗶~嗶~嗶~
EPSON NPL-N3000:卡住了,JAM C1 A …
Keiko:x,我同學只不過早我幾秒印,他就沒問題,你是在惡搞我嗎?愛普森先生…

em-17

印 71 頁:
EPSON NPL-N3000:豋,嗶~嗶~嗶~
EPSON NPL-N3000:啦啦啦,我又卡住啦,打我啊…
Keiko:我真的打下去,手超痛…

PM 15:07

em-8

哈哈,印出來啦,老天你沒辦法惡搞我了吧!
(翻閱)
……
怎麼圖一、圖九、圖十三、圖二十二都不見了,上下的字都在耶,就單單圖不見!我又不是哈利波特,現在是怎樣,消失的架構圖嗎?(參考消失的密室一集)EPSON NPL-N3000 吃的是碳粉耶,碳粉有檸檬口味嗎?我要用蠟燭加熱,圖才會浮出來嗎…


快步回實驗室,趕快再印一次,明明圖就印的出來,早上是怎麼了,我雖然不是強者我同學,印表機也不要討厭我啊…

PM 16:12

em-19

實驗室的乖巧學弟們都去 meeting 了,只好自己來把印出來的圖剪下貼上,打開口紅膠,然後它已經被用完了…用完了…用完了…看著那短短的口紅膠,被擠到最底部,我的人生好像也走到了盡頭…殘餘成塊的渣渣,掙扎努力地依附在蓋口,像極了現在的我在為這該死的口試苟延殘喘…

結語

em-1

沒關係,一切都會過去;沒關係,我會撐過去的…冬天到了,春天還會遠嗎?沒關係,我很期待口試結束,我多印了一本碩士論文,到時候,我一定要把它燒了,我要在四草大橋上大喊:燃燒吧,我的論文!燒吧,連同我的青春,燃燒吧!

Au Coin du Monde 在世界的角落 - Keren Ann

在忙碌的論文寫作中,總是需要幾首好歌來提振一下精神、渡過漫漫長夜啊~無意間發現一首法語歌:Au Coin du Monde。是法國女歌手 Keren Ann 唱的,收錄在絲慕巴黎合輯裡,這裡可以買到!

試聽一下吧!

想看 MV 的,youtube 上也有唷!來看看法國人的 MV 吧,蠻有 fu 的~

 

歌詞是在這裡找到得,還有貼心的中文翻譯 : )

因為版權問題,就不轉貼了!

我不要寫論文了啦~

好煩唷,我不想再寫論文了,明明就只剩不到一章,怎麼一點都不想動了…

你問我這世界上最遙遠的距離是什麼?
我會跟你說:是論文只剩不到一章,但我完全不想寫!

口試委員來電我吧!說好不提老木,其它隨便你了…

要不是為了台北還有對趨勢的承諾,我真想立刻躺下,一個禮拜都不動,論什麼文啊!我一定是倦勤了,三、四月那個該死的 driver ,浪費了我這麼多時間,而且還沒完成,拜託,廠商大哥,我給你錢,你不要叫我做了。

口試完後,好想消失一陣子,去柬埔寨還是哥倫比亞好了,當個毒梟應該挺不錯的,可惜我人太好不適合;去安地斯山脈縱走算了,不過我這麼瘦,搞不好上山沒多久就高山症了,我還有老爸老媽老弟要養…

生亦何哀,死亦何苦?大家不要怕,我很怕痛,當然不會去死,我只是說說而已…畢竟我是個專業說說鬼!

每次要趕東西,腦海都會浮現一些奇怪的話,我記得年初寫 proposal ,跑馬燈寫的是:造橋鋪路無屍骸,殺人放火金腰帶。我絕對沒有影射審計畫或是叫我寫計畫的人…

我已經搞不懂老天爺為什麼要在此時此刻雷聲大作了,是為我可憐還是生氣我裹足不前…

Keiko:外星人、外星人,快來綁架我吧!
外星人:快上來,你的口試委員我都找來了,等你很久了!
Keiko:…

Keiko:這種人!那種人!吶,你是哪種人?
Keiko:我是趕論文的人…

7/16 論文第一次修改

tired drink

這大概是這個月最振奮人心的消息吧~重大進度耶!論文從預計的四十頁長成五十六頁,而且還不含結論與附錄…看來我扯淡能力還不差…

在老師不眠不休的批閱下,論文大概要長到七十頁 -_- 好想哭唷,為什麼我的畢業要謀殺這麼多大樹呢?!我不想改了,保安,可以讓人這樣改了又改、改了又改嗎?

幫論文畫圖的時候,大概是我這個月最真實的存在吧…

老師的電腦有不少叫維中、惟中、為中的資料夾耶,不過沒一個寫對的…那些說我是老師愛將的傢伙,看清楚啦,老闆怎麼可能會寫錯自己愛將的名字呢!故得證 => 我不是愛將唷  kuso.vnoo.com.3.13

最近太操勞,補充維它命 B 群,但聽說另一個學長說蠻牛更有效,就跑去買了一罐喝喝看,真的是…你累了嗎?精力充沛,X力達蠻牛

今天還沒衰完…

用個牙線,也把嘴唇割破…我看,這是鋼琴線吧…

今天還沒衰完嘛,衰神止步、福神請進啊!

修電腦好好玩

7/4 (五)

這次回家幫弟弟重灌了電腦,原本想趁 Windows 更新時,去趕(桿?e04?)個論文,沒想到接連的 popup 小視窗、重開機,讓老第三不五時來叫我。此外,還不斷地被媽媽叫去幫忙看她的電腦,老媽真的很寶, Norton 掃描後說沒毒,她卻不相信,硬要我看,難道老媽妳覺得妳生的兒子不是人,是個人腦 AntiVirus 嗎? -_- 想起大學時,有位寶貝同學把一段程式碼默背給我聽,問我為什麼 compie 不過,囧,那天我升級成了人腦 compiler …

7/5 (六)

今天跑去桃園機場當同學的行李小弟,出門前因為怕遲到就沒到老媽公司幫忙修電腦,結果同學的飛機誤點四十分鐘。老媽打了三通電話來關切:

  1. 你在哪啊?還這麼早,就說不用那麼早出門,花個五分鐘來幫媽媽看個電腦不是很好嗎?
    • NK:很好啊!我只是怕遲到而已,我回去一定幫妳看!
  2. 都不來幫媽看個電腦,公司的 MIS 沒用,兒子又不來…唔
    • NK:開始裝可憐? -_-|
  3. 你看,就說不用這麼早出門啊,這麼急得去,還不是在等,啊,算了,下次回來再幫我看,再見…
    • NK:…

認識二十多年了,竟然為了部電腦在這酸我…

7/7 (日)

早上去 mobo 學長家看狗,看見 mobo 被堂姊叫去修電腦。下午去同學家,順道看了一下電腦!

 

父評:以後去上班要低調,凡是看清楚了再去做,不要讓自己的付出沒有得到回報!(NK:天啊,不過修個電腦,我爸都可以講出一番道理,我真是太佩服了!I 服了 you!)

母評:你是我生的啊~

弟評:誰叫你是我哥!

盛語:揪竟~在修與不修之間,又是該如何抉擇呢?

鄉評:你是個好人!

回家回家~

兩個月沒回家了,大概創了六年來的紀錄了…終於在上星期五,讓我抓到藉口說服自己回台北了!

台北跟台南一樣熱,可是很悶,讓人很難受,而且天色灰濛濛的,不像台南的天空是蔚藍的,讓人很舒服、很開朗,曾經一度,我懷疑自己是命中註定來這當個開朗南國少年。

這次回台北除了簽了三張把自己賣掉的約外,最大的收穫就是:終於把 W7 拿回了,這是我三年前的生日禮物,可是卻在我弟手上渡過三年的光陰,科科咧,我真是好哥哥,想必我弟下輩子一定還想找我當哥哥!

下面來看圖說故事吧~

 DSC05132

我家陽台往右邊照的,原本可以看到一座座小山,施工地原本是座公園,某年某月某天,我回台北,赫然發現已經是鋼筋水泥工地了,這算物換星移、滄海桑田嗎? -_-

DSC05146

臺北盆地恐怖的天氣,灰濛濛地、令人看了有股壓力上來,照片右邊沒有阿飄,那是我弟,大家晚上看到時不要害怕啊!

DSC05151 DSC05152

在等朋友時,順手拍的,是傳說中的台北一炷香,據目擊者指稱:過去三年的一月一日零時零分,該香會從下往上點燃,隨後朝四面八方噴出火炷,猶如龍鳳飛舞,其色或紅或黃、時而綠時而藍,光彩奪目、斑斕絢麗啊!這種現象約維持著 120 ~ 180 秒左右,每年都讓信徒們先是看的瞠目結舌、而後拍手叫好啊!對了,據說有幾年,上面還會浮字,可惜浮的不是數字好像都太大了,不然大概可以吸引到一票樂透迷吧~

p2B p7B

看到沒,兩張圖都有浮字唷!(竊自 http://www.taipei-101.com.tw/fireworks/index.htm

Windows + Visual Studio + VSCode + CMake 的疑難雜症

Environment Windows 10 Visual Studio 2019 CMake 3.27.7 VSCode VSCode CMake Tools 1. CMAKE_BUILD_TYPE 是空的 參考一下 這篇 的處理。 大致上因為 Visual...