2010年10月11日 星期一

心靈的進化?心靈的淨化。

前一陣子,詐騙行為盛傳,這種行為因為網路的普及而更加常見,各種新奇手法接連誕生。我本來一直很不在意這種事,連我媽都接過兒子打電話回來哭說被綁架的電話,這種老梗應該誰都不會上當吧?更不用說那種以抽獎、信用卡或保險為名義的手法了。

不過,在過去的報導中,其實不乏高知識份子被騙的案例,有趣的是,我自己也曾經差點被騙。對方聲稱自己是某銀行行員,先打來問我是不是有個銀行帳戶後五碼是 xxxxx,然後曾經刷卡在哪裡買過東西。如果這是我的帳戶那我就不會受騙,除了對自己的資料很熟悉不怕別人套話以外,我根本沒有任何信用卡。偏偏當時我正好上台北,友人要刷卡集點,地點跟時間相符讓我有點慌張。當下我請他晚點再撥給我,我向該友人確認,確定帳戶無誤後心想「難道真的有被盜用?」。後來電話再度響起,他要我不用慌張,只要到附近的ATM按照他的步驟做就可以查證到底是否有被盜用。

想必有人猜得出來這是哪種手法了吧?詐騙集團先用諸如此類的理由把你騙到ATM後,要你用英文介面操作,利用有些人看不懂英文的情況下欺騙受害者匯款。

那麼,我是被騙到ATM後看英文不對勁才發現的嗎?其實在他向我解說如何查證的方法時,我人剛好坐在電腦前面,就順手google一下兩組關鍵字,一個是來電電話號碼,一個是「ATM 詐騙」。前者給我的答案是台北某警察分局的刑事組電話,後者自然就是許多ATM詐騙的討論。

數年前,有部非常有名的日劇叫做 Liar Game <詐欺遊戲>,男角松田翔太以精湛的演技詮釋了詐欺師的角色。說穿了,詐騙,就是利用人們對某「遊戲規則」的陌生,先使其心理不安無法理性判斷,再利用遊戲漏洞來達到詐騙的目的。大家都很鄙視詐騙行為,但心裡還是會默默的想著「誰沒有說過謊呢?」「人是愛說謊的動物」(按: 好像多數人是說「男人是愛說謊的動物」…orz) ,法規就是遊戲規則,無論定的再嚴都總有漏洞產生,也因此詐騙行為永遠存在。

但不知道為何,近幾年來我發現有一種情形漸漸常見,就是當受害者在網路上公佈自己受騙的過程時,有不少人的反應是「都幾歲了,怎麼連這都會被騙?」「不是念到研究所了嗎?書都念哪去了。」「簽合約時本來就該注意ooxx。」等等,他們不關心該如何幫這受害者找出解決方法,也不譴責詐欺師的行為,只是一味的數落受害者。

不經一事,不長一智的道理大家都懂,也都知道可以用「只花點錢能學點人生經驗也是無價」來安慰受害者,但是,為何有人會以數落或嘲笑的心情來看待事不關己的事情呢?世界上本就該有壞人存在,身為一個壞人,就有要被處罰的覺悟,可是跟這些壞人相比,那些在旁邊說風涼話,無視犯罪、甚至習慣這個犯罪環境的人們不是更糟糕?總有一天,他們會以這種「反正這種犯罪很常見啊又沒什麼」心情而犯下罪行的。

我試著去思考,該透過怎樣的教育去慢慢淨化人的心靈,不過我自己也會犯這種錯,淨化自己都來不及了 …。

2010年8月29日 星期日

Baden a-style Mahogany 人生的第三把吉他

高中剛加入台南一中吉他社時買了人生的第一把吉他,當時老師介紹兩個價位的琴給我們,一個是1950一個是2850,我當然是選擇便宜那個,然後用我的努力證明琴買便宜不見得就彈得不好。

  (大家好,我是主人的新伙伴!)

不過,在某個夜黑風高的夜晚,本來安穩靠在桌邊的吉他忽然摔到地上,脖子直接斷成兩截,這對我當時還是個未成年的小孩而已這畫面實在是太血腥了。為了不讓可憐的吉他死不瞑目,我特地觀察了一下屍體,我發現它脖子的其他地方早有裂痕,而且藏在脖子裡的用來支撐的鐵棒只有一小截。後來我馬上買了人生的第二把吉他,就是2850的,想不到差不到1000元卻好彈得多,剛好那時高二大家也開始學些finger style的曲子,我就一直用到現在。(包含荒廢很久的時日)

10年後,PTT吉他板出現一位神人,他不但對吉他構造與音色特性有研究,甚至還偶爾出售一些物超所值的琴,大家都稱他為「紅大」。之前紅大就有賣過幾次琴,但我一直怕買了沒時間練習浪費那錢,而且對於那個價位的琴了解不深,因此遲遲沒有下定決心。近來,我剛好在研究吉他的physical modeling,在翻閱先進們的論文時發覺有部份跟紅大介紹的一樣,加上紅大剛好又有好物要賣,我就跑了一趟高雄,直接找紅大試琴。

  (黑檀木旋鈕)

我想買的是Baden a-style桃花心木的琴,紅大的無名上有照片跟試聽檔。當天試的琴中,除了Baden兩種筒型的琴外,還有玫瑰木製作的琴,他前後拿了六七把出來讓我比較,聽過音色後我還是最喜歡原本選的。以下跟紅大的對話是我憑印象記下來的,如有謬誤歡迎留言糾正我。

1. 為何玫瑰木的吉他這麼快就賣完了?

因為玫瑰木的吉他單價較高,但紅大賣的價錢只有貴一點。而玫瑰木之所以單價較高是因為古典吉他當初發明時就是用玫瑰木做的,人們對於「血統」多半很重視,因此玫瑰木自然就是「皇族」身份。

至於兩者差異?

紅大直接拿Ayers玫瑰木的彈奏來讓我比較,在聲音的表現上差非常多,用音樂的角度來講,玫瑰木產生的聲音較柔,延音較長,桃花心木則反之。用訊號的角度來講,桃花心木之所以殘響不長,我猜跟它的側板與底板在共鳴時,因材質而導倒中頻在衰減上較快。另外像cedar(紅杉)的音色偏溫,適合古典演奏,不適合刷扣,spurse(雲衫)的音色就比較響亮。在現場聽起來,就我的感覺我還是比較喜歡桃花心木,玫瑰木讓我耳朵有嗡嗡作響的感覺,桃花心木聽起來比較乾淨。

  (黑檀木旋鈕近照)

2. 吉他發聲的原理

撥動琴弦=>將震動經由弦栓=>琴橋=>傳到面板震動=>經過側背板反射=>在桶身產生共鳴。每一個環節都會影響到音色,這也是為什麼一把好的吉他很難被仿造,如果有工廠能仿造出音色跟五萬元吉他一樣好,那它通常也能自創品牌了。

我本來是問吉他的琴身有幾個共鳴腔,不過也許要另外找資訊了。另外,Neck跟發聲無關,所以通常都是選用很硬的木頭來讓它不容易變形彎曲。

  (筆直的脖子,會歪的才有鬼!)

3. 哪裡可以學得以上那些木板發聲的比較等資訊?

http://www.taylorguitars.com/
紅大之前有引用這裡的文章,如果有要寫論文的話可參考Taylor的刊物。PTT有另外一位神人有翻釋許多這網頁上的文章,請參閱。http://sydneyshiu.pixnet.net/blog/post/24004110

4. 吉他的保養

木頭內水分的流動,散發比吸收快,在濕度50%左右的氣候是最適合吉他的保存。(如台灣這類型海島國家,或沿海城市) 如果太乾燥,當木頭內水分流失過快時,會導致內部結構被破壞而裂開;如果太潮濕,吸水的速度較慢因此不會有事。另一個問題是天氣過冷,水分遇冷結冰,體積漲大,也會讓吉他爆裂。(聽說賣到德國的吉他最常出問題...)

5. 筒身的差異

我買的吉他琴身比較有腰身,另一款 D 筒的腰身較不明顯。兩者音色也有非常明顯的差異,有腰身的音色中高頻能量較強,沒腰身的音色低頻表現較強。

6. nut & bridge

牛骨質地較密

  (缺角,腰身明顯,音色較D筒響亮)

7. 絃距問題

在不打絃的情況下,絃距越低,壓縮手指的壓力較小,比較容易壓出實音,初學者剛練琴時,因為手還沒長繭,加上鋼絃質地較硬,通常練每幾個和弦手指就會痛了。

不過,絃距影響的不只是彈奏的手感,它也會影響音色。絃距過低的話,絃在來回振動時受fret影響的機會就越大,只要稍微觸到fret,振動的波形就會遭受破壞,使得基頻的振幅變小,而倍頻們的能量增大。耳朵聽到嚴重程度由大至小依次為 : 打絃 -> 沒打絃但有嗡嗡聲 -> 聲音變扁(薄)

以下文章節錄自兩個網站
1.
GM Arts http://www.gmarts.org/index.php?go=233
Even though we each have different ideas about our ultimate tone, I think we're all looking for a rich sound - rich in harmonics, that is. Lots of harmonic content = lots of 'tone'. If you have lots of harmonic content to start with, you can easily use other sound shaping tools (tone controls on the amp, in particular) to sculpt your favourite and unique sound. It's a bit like giving an artist every colour he could wish for to paint a picture. If you only give him a pencil, he can still draw a great picture if he's really
good, but has limited options.

So, back to guitars, we want lots of harmonics, and different players will use other sound shaping tools to tailor their own sound. A natural plucked guitar string will contain a strong fundamental, with less strong harmonic content. The higher the harmonic the lower its level.

The first challenge is to make sure you have a strong fundamental, so let's get the bad news out of the way. Heavy strings and a high action almost guarantee great tone. If you have any doubt, listen to Stevie Ray Vaughan's tones.
絃越重、絃距越高,其音色越豐滿)

There are good reasons for this. The fundamental is loudest because it vibrates the most. If you have a low action, fret rattle kills a lot of the fundamental, emphasising higher harmonics, giving a thin sound. Even if you hear just a hint of fret rattle at the start of a note, you have lost some fundamental. Likewise, heavy strings give a stronger response on the fundamental without sacrificing upper harmonics.
(如我先前所說)

2.
Shopping for a Guitar
http://emedia.leeward.hawaii.edu/frary/buying_an_acoustic_gtr3.htm
Each guitar is unique in feel due to variations in neck thickness and shape. If the neck is comfortable, the guitar will be easier to play. The string height above the fingerboard--the action--also influences playing ease. The action may vary according to personal taste and playing style. High action is difficult to play but allows buzz-free high volume playing. Low action is easy to play but buzzes during aggressive playing. A compromise between the two is best for most players. Fortunately, the action can be adjusted to suit your needs. If you are a steel-string player, remember that classical action is higher than steel-string action due to nylon's lower tension.
在現今音色多變的時代,絃距其實可以依照自己的喜好調整即可。

  (圓弧狀背板)

其他照片 : 點這裡!

2010年6月29日 星期二

[java] How to pass native structure by JNI ? Java與C++之間的愛恨交織 ( Field Accessing篇)

有段時間沒有寫文件了,剛好最近學弟妹問到這個問題,做完實驗後來整理一下心得。其實上次使用JNI已經很久一段時間,後來每當有學弟來問我相關問題時我都得重新翻一次以前做的文章才能恢復記憶,程式這東西果然還是要常用啊!

噢!不過他們問我的問題當然不是標題寫的那樣,大家關心的是如何讓java與native c++的資料互相傳遞及溝通,其中最直覺的方法便是透過函式的參數列傳遞,在簡介與教學一文中已有介紹,可是但我有很多筆資料要傳時參數列不就要寫一整排?況且又沒有彈性。其實在變數的溝通上還有其他方式,今天先介紹一種:Fields Accessing。



這個方法的觀念很簡單,就是:java native function既然會屬於某一個class,理論上它就可以存取這個class裡所有的member fields。因此,這個class中所有的程式,無論在java還是c++,都可以對同一組資料做存取而無需透過參數傳遞。

例子:有個StructPass class,裡面成員有

    private String name;
    private int age;

Constructor

public StructPass(String n, int a) {
         name = n;  age = a;
    }

兩個native funciton

public native void toNativeStruct();
public native void fromNativeStruct();

現在,我希望在toNativeStruct裡可抓出在java中初始化好的fields,重點便是在於GetObjectField這個function。當他取得field後再做適當的型態轉換 (jstring, for example),便可以使用。

     jfieldID fid;   /* store the field ID */
     jstring jstr;
     const char *str;
 
     /* Get a reference to obj's class */
     jclass cls = env->GetObjectClass(obj);
 
     printf("In C:\n");
 
     /* Look for the instance field name in cls */
     fid = env->GetFieldID(cls, "name",
                              "Ljava/lang/String;");
     if (fid == NULL) {
         return; /* failed to find the field */
     }
     /* Read the instance field name */
     jstr = (jstring) env->GetObjectField(obj, fid);
     str = env->GetStringUTFChars(jstr, NULL);
     if (str == NULL) {
         return; /* out of memory */
     }
     printf("  c.name = \"%s\"\n", str);
     env->ReleaseStringUTFChars(jstr, str);

之後,我們希望fromNativeStruct函式中可改變name這個field,相信聰明的大家一定猜到是使用SetObjectField,當然前面的GetObjectClass, GetFieldID仍免不了囉。

      jfieldID fid;   /* store the field ID */
     jstring jstr;
 
     /* Get a reference to obj's class */
     jclass cls = env->GetObjectClass( obj);
 

 
     /* Look for the instance field s in cls */
     fid = env->GetFieldID( cls, "name",
                              "Ljava/lang/String;");
     if (fid == NULL) {
         return; /* failed to find the field */
     }


    /* Create a new string and overwrite the instance field */
     jstr = env->NewStringUTF("123");
     if (jstr == NULL) {
         return; /* out of memory */
     }
     env->SetObjectField(obj, fid, jstr);

在java的main function如下,執行後原本初始化的字串"kerker"就會變成"123"了。

    public static void main(String[] args) 
      {
        StructPass hello = new StructPass(new String("kerker"), 10);
        hello.toNativeStruct();
        hello.fromNativeStruct();
        System.out.println("In Java:");
         System.out.println("  hello.name = \"" + hello.name + "\"");

      }

好大一個分隔線

以上介紹的是傳單一primitive type variable的方法,如果是要傳的是primitive array呢?用法一樣!只是在native c++中只靠GetObjectField所取得的值,其型態為jxxxArray (xxx may be int, float, double, …etc),需搭配GetxxxArrayElements才能取出每個array中的值。

例子:成員

private float [] float_array;

Constructor 初始化

    public StructPass(String n, int a) {
         for(int i = 0 ; i < 10 ; i++)
         {
                 float_array[i] = i + 0.5f;
         }
    }

在toNativeStruct (c++)中

     /* Look for the instance field s in cls */
     fid = env->GetFieldID(cls, "float_array",
                              "[F");
     if (fid == NULL) {
         return; /* failed to find the field */
     }
     jfloatArray jfarray = (jfloatArray) env->GetObjectField(obj, fid);
     jsize len = env->GetArrayLength(jfarray);
     jfloat *body = env->GetFloatArrayElements(jfarray, 0);
     for(int i = 0 ; i < len ; i++)
     {
         printf("float[%d] = %f\n", i, body[i]);
         // modify some of them
         if (i%2 == 0)        body[i] = 99.99;
     }
     
     // ReleaseIntArrayElements enables the JNI to copy back and free the memory
     env->ReleaseFloatArrayElements(jfarray, body, 0);

這裡特別需要注意的是,一旦你更改了field的陣列值,在呼叫ReleaseFloatArrayElements後不但可以釋放JNI中使用的這塊記憶體,還可以把你改過的值更新回java的field array中。因此,這個例子就不需要再寫額外的code在fromNativeStruct裡面。

程式原始碼下載:點我點我

後記

本來隔天想要實作在網路上找的另外兩個方法,一個是將java的物件利用ByteBuffer包裝成連續的記憶體然後傳到native這邊,不過文章中有人回應說這個方法的變數很多,跟compiler, variable format, byte order等都有關。另一個方法就是用XML-like serialization來傳。不過後來想想,只要把想要傳的資料包成一個class (java沒有structure),然後用本文教的方法來傳應該就可以解決問題了,因此java或native c++的愛恨交織暫時就告一段落啦!

reference

[1] doc chap 4 : Fields and Methods

[2] Accessing Java Arrays

[3] JNI functions

2010年4月14日 星期三

A trip to Italy - Venezia

2009/09/05 – 2009/09/08

Venezia, Italy.

A sunny city with adorable children, beautiful sea, complicated traffic, and cheap ice cream.



由於前一晚沒睡好,加上我因為第一次用自動販賣機買EuroStar的車票,所以沒選到座位,我只要在放行李的走道旁找個位置,在地上舖些紙後坐著睡了一下。火車駛入車站前,一排排「浮」在水面上的房間映入我眼簾,雖然天氣不太好,但仍不影響我興奮的情緒。

威尼斯是歐洲人的渡假勝地,剛好我排的時程是週末,因此一出車站就可以看到非常多外國人 …呃,嚴格說來應該是非義大利人。我照著手上的地圖往我訂的hostel前去,最後在一棟外表看起來很像工地的建築物上找到它: Alloggi Gerotto Calderan。

由於check in時間還沒到,我把行李丟在hostel裡以後就開始到處開地圖了,第一站就是:hostel前的plaza!哈哈抬行李實在太累了所以走沒兩部看到椅子就坐下來了。

休息完後下一件事當然就是覓食,我住的地方離車站算很近,我往車站的反方向走過一座橋後就有一個小市集了,這市集上除了兩邊的店家外,中間也有攤販,如同書上所說,威尼斯的食物確實貴了一些,大瓶水一瓶2EUR,可樂一瓶500cc從2, 2.5, 到3EUR都有,好死不死我就踩到雷買到3EUR的,跟我的午餐一樣貴。就這家!我在想義大利人是不是數學很爛,價錢都是整數或.5。。。

吃飽後也差不多兩點了就回hostel check in,進房間後嚇了一大跳,我發現房子裡五個床中已有三個有擺行李,其中兩個很明顯是女生,因為她們的小可愛就直接丟在床上;第三個看不太出來,不過鞋子很小號。床跟床間的走道雖然很小,不過房間跟浴室都很乾淨,這天的天氣又很涼爽,我眼睛才瞇一下就下午四點了。醒來後不久,兩件小可愛的主人先後回來了,叫Alice的是美國人,另一位名字很難懂的是澳洲人,她們回來休息一下換個裝備後要繼續去玩,澳洲女孩長得很高很漂亮,而且很有耐心的跟我這個英文不好的人聊天。這算是我第一次跟外國人「閒話家常」,她也教會我,通常去自助旅行會聊的話題,不外乎是「你來自哪裡?」「威尼斯(某某地)有沒有什麼建議一定要去玩的地方?或你印象中最好玩/最美麗的地方?」基本上這兩個話題就可以聊很久了。後來從她口中得知威尼斯海外的Lido島有電影節,以及San Marco Square一定要去。

威尼斯外島有三個,其中「彩色島」Burano與「玻璃島」Murano書上有介上,就Lido島沒有,不過那並不代表它就很冷門,我搭公共船到那邊時遊客很多,美麗的風景、可愛的小孩、加上這輩子我吃過最好吃的冰淇淋,讓我在島上渡過非常快樂的一個下午。

父子在PK。

偷拍可愛小孩!

從Lido回Venezia的景色。

雖然我在離開Lido島時因為imob卡弄丟而心情不好,但是當我傍晚七點來到San Macro Square時卻被眼前的情景所感動不已。夜晚的San Macro非常浪漫且美麗,四週和著柔和的橘紅燈光,廣場旁的餐廳有小樂團在演奏著爵士樂,廣場上盡是相互擁吻的情侶或夫婦,當我看到一對長滿銀髮的夫婦像其他年輕人一般環抱擁吻時,淚水已承受不了衝擊而滑落。人生至此,夫復何求?San Macro被稱之為「歐洲的大客廳」真是一點也不為過。

逛完San Macro Square回hostel,我遇見了第三個室友,我大概是上輩子修了不小福報,不但室友都女生而且都很開朗。來自日本的Ayumi見到我後很開心的跟我攀談,她的英文發音沒有一般日本人那樣重的口音,但都跟我一樣慢,因此我們聊天非常輕鬆沒壓力。她跟滿多人一樣,今年景氣不好所以辭掉一個四年的工作,然後開始到處旅行。她個性雖小,卻已經自己一人在歐洲玩上一個月,義大利她也從治安較差的南義玩上來,還打開電腦給我看拿坡里非常有名的「藍洞」的照片。她聽說台灣男生非常友善而且聽女朋友的話,問我是不是真的,我哈哈大笑說大概是吧,日本大男人主義大概盛行已久了。我問她日本男生難道沒有一些例外的嗎?她很確定的搖頭然後嘆氣 XDD。她非常喜歡吃蘋果,不管到哪個國家都一定要買蘋果來吃,說著說著就遞了一個給我吃,我實在很大膽的收下並當場吃掉了,萬一是個毒蘋果那怎麼辦?

 

(續)

 

第二天起床時發現第五床是個男室友,而Ayumi早就不見了。早餐想說到附近找找看,恰巧在門口遇見她,與她寒喧幾句後,就到附近的咖啡店點了杯Cappuccino跟麵包裹腹,同時盤算著今天的行程。這天是星期六,同時也是九月第一個週末,剛好是威尼斯一年一度的龍舟節!我看天氣這麼好,決定先去Ayumi提過的Murano島逛逛。

不過,威尼斯是有名的大迷宮,我有點擔心把所有本島的景點排在第三天會逛不完,所以在出本島之前先到有名的Rialto橋看看。我試著不要搭公共船直達,而是靠著步行跟天生的 …路痴雷達,為了以防萬一,我每到一個熱鬧的交叉口都會拍一張照。說真的我對照地圖跟交叉口牆上的路名,還真的走丟,接著只能一股腦兒跟著人群走,走著走著就莫名其妙到了船站了。

天氣超好。

橋上的景色。

Murano也被稱為「玻璃島」,因為島上的玻璃藝術品或吊飾很有名,早期義大利的玻璃工業就是從這島開始發展的。Ayumi提過這島上的玻璃都很貴,一個手掌大的東西就要100EUR,我逛時倒是沒發現,大概是我自動過濾掉50EUR以上的商品吧。像下面這兩張沒標價錢的,我也懶得問了。

這個是我見到最特別的玻璃製品了。

下午我回到本島時剛好三點左右,大家已經開始走出來並在所有的河道旁挑選最佳觀賞地點了。我繞了一個小巷子後找到一個還不錯的點,跟旁人一樣滿心期待的等待龍舟的到來。

可是,等了四十幾分鐘了,大家都曬得臉紅紅,公共船早就停駛許多,大家望著平靜的河面,有人開始丟麵包餵食鴨子,身邊幾個帶大炮要拍照的大叔也無聊到拍起鴨子。

暮地,遠方傳來輕輕的鼓聲,接著喇叭聲也出現了。大家都很興奮得站了起來,完全忘記中暑的痛苦。不久,一台台五彩繽紛的龍舟接連出現,前幾台很大,似乎是皇室,還有可愛的公主呢!

前面數十台龍舟通過後,接下來就是開始正式比賽了,我只看一下下就回宿舍清洗衣服順便小睡一下。晚上由於公共船沒開,身體又超累,解決晚餐後我逛了一下,八九點就回宿舍休息了,因為明天我安排的行程,其目標是征服本島上所有有名的美術館或教堂!

 

睡前,兩個新室友也進駐了,是來自美國的女生,利用放暑假的期間來歐洲遊玩。整個房間只有我一個男生時,我發現女生無論是哪個國家都一樣,長舌的功力真的是超強,美國女生們大談他們的老師啦學校啦課程啦一大堆的我完全插不上嘴,倒是澳洲女生依舊很主動的問我今天有去哪玩之類的,然後我在描述時,四個女生就很安靜的聽,我講完後她們再繼續其他話題 … 練英文聽力果然直接出國最快啦!

(續)

2010年2月12日 星期五

A trip to Italy - Milano

2009/09/04 – 2009/09/05

Milano, Italy.

It’s the most noisy, dirty, and expensive city I’ve ever been.

 



下了火車後,我提著行李去搭Milano的Metro,下車後沒多遠便可見到指示圖示,書上也有教說Metro的票只要找裡面隨便賣雜誌報紙的店家買就有,只是當我進到深處時越來越覺的不對勁:米蘭不是義大利的工業大城嗎?我以為會像台北或東京那樣乾淨有秩序,但映入我眼廉的,是一張張的報紙在亂飛,Metro環境很昏暗,白天時人潮很多沒啥感覺,晚上應該很可怕。我搭M1紅線先到 Prota Venezia 站找我預約好的hostel下塌 : Hotel San Tomaso。

這旅館有多爛我就不再贅述,反正這還不是米蘭最糟的。

放好行李後,我搭Metro到Cadorna站,打算去找有名的聖母教堂 Santa Maria delle Grazie,如果大家對 <<達文西密碼 >> 不陌生的話,書中有名的達文西壁畫<<最後晚餐>>正是在此,不過聽說要預約,預約費用3EUR門票6.5EUR,我打算先去觀察看看再說。在我前往的途中,我再度被米蘭的交通嚇到了,他們的大馬路上有汽車、重型機車、公車、還有…火車!跟旁邊古老的建築一整個是不搭。抬頭望去,到處都是密密麻麻的電線。

聖母教堂的外觀跟一旁的建築物很像,我在附近繞了半天才找到他的入口,實在應該建議旅遊書在介紹景點時至少拍一下入口是長怎樣。

我還拍了張跟旅遊書一模一樣的照片,就是漂亮的屋頂內側。

由於找聖母教堂花了不少時間,等我離開那裡時已經過了下午五點了,因此我加快速度搭紅線前往來米蘭一定要去的景點:米蘭大教堂 Duomo。

這是我剛出Metro時映入我眼簾的一幕,雖然是下午五點多但天還非常的亮,太陽斜射的角度剛好完全打在大教堂的正面,所以我才能拍下下面這張像明信片的照片!

這張天使的臉還滿可怕的,但我還是調皮的跟他拍了一張。

大教堂的前面有個很大的廣場,廣場上有非常多鴿子很壯觀,正當我被眼前的景象所怔,一個吉普賽人向我走來,二話不說就拉起我的手,我本能的將手握拳,他就像黑人牙膏那般露出雪白的牙齒向我笑著,然後講了一堆我聽不懂的話,嘗試著要塞東西給我。我繼續抗拒著,他將另一手打開給我看,原來是要給我玉米讓我餵鴿子,但我還是堅持不要,他才放棄。後來,我看同樣的事情發生在別人身上,他們很開心的餵完鴿子然後拍完照,吉普賽人就向他們索費了,多少錢我不清楚,不過很慶幸我不用莫名其妙多花這筆錢。以後如果有要去歐洲,我想隨身帶一包玉米粒是不錯的選擇。

米蘭的夜景還算不錯,我拍的這張是旅社對面的電影院。

我的室友本來有一對情侶,但不知為何睡覺前剩男生,兩個人睡五人大的房子一點也沒有舒適的感覺,在又熱又吵的環境下我輾轉難眠,一直到凌晨不知何時車輛較少後我才沉沉睡去 …

隔天,我拖著沒睡飽的疲累身軀,前往Milano Centrale搭車前往下個城市,那是我一輩子最難望、也最美麗的水都:威尼斯。

其他照片請點選這裡

2010年1月19日 星期二

A trip to Italy - Como

2009/08/31 – 2009/09/05

Como, Italy




檢視較大的地圖

2009年8月,是一個適合忙碌的月份,它剛好在 lab 旅遊後的隔月,同時也在開學的前一月,跟往年不同的是,這個月我需要準備我人生許多的第一次:第一次自己辦出國,第一次自己搭機,第一次出席國際會議,第一次準備英文報告,以及第一次籌備自助旅行。整個準備過程十分匆促,我勉強在八月中前搞定所有護照、簽證、機票、hostel的準備事項,最後兩週只能全心準備英文報告,倒數兩天前準備行李。出發前,我的「Italy.docx」檔案只紀錄了我所訂的hostel資訊、研討會位置以及部份交通資訊,行程的部份幾乎全都是空的。

最後,我將兩本旅遊書跟其他雜物塞進向表姐借的行李箱後,背上包包跟海報筒,便開始了這趟旅程。

由於是第一次自己出發到歐洲旅行,我對一切事物都感到十分的新奇,光是機場航廈的配置、機場外的景色、跟德航Lufthansa機內的照片就拍了好幾張。

在轉機與通過海關的時候,我便已經用過我的破英文與人員溝通過,不過第一次與外國人閒聊式的交談,則是在德國轉往義大利的小飛機上。與我交談的是一位在外地做生意剛回國的義大利人,看起來年紀不會大我多少,他很熱心的主動找話題與我攀談,最後話題結束他才說他的位置其實在後方,他的未婚妻在等他。我當下心裡很是感動,之前做功課時有聽說義大利人都很熱情,他的友善確實化解了我對陌生環境的不安。可惜我最後下飛機時仍沒鼓起勇氣向他要求能否一起拍張照以茲留念,只有在機上拍下美麗的阿爾卑斯山。

義大利的交通需要花點時間去習慣,例如車票上寫的資訊通常都是無用的,一般火車沒座位號碼,公車沒有跑馬燈告訴你下一站是哪,網路上或車站旁的information也找不到任何有關公車班次與路線的資訊。不過另我比較驚訝的是,義大利非常流行亂塗鴨,火車裡只要有一片單色的區域就一定會被塗,我在從Malpensa機場搭往Como Lago的路上想看看外面的景色,鐵路旁的護欄或屋牆上也都是塗鴨。也許這就是孕化美術藝術的好環境。

Como Lago位置Milano北方,湖邊是一片渡假區,在八九月的旅遊旺季時剛好開始慢慢轉涼,許多世界各地的遊客來參訪,這區的hostel並不多,我下塌的In Riva Al Lago雖然每晚要42EUR,但有免費的早餐buffet、wifi、冷氣、還有乾淨的環境,離車站步行只要三分鐘,staff會講英文,如果是住其他hotel就算只有三星一晚也要70EUR以上。不過這間的隔音不是很好,因為某天晚上睡覺時我就聽到隔壁傳來奇怪的聲音 …

在我去過別的城市後,我很慶幸研討會將地點選在Como Lago,同時我也將它作為我旅行的起點,一切事情都從這裡開始熟悉。這裡的步調很慢,遊客不多但仍四處可見,我白天多數時間都待在研討會會場,不過由於這裡晚上八點才開始天黑,所以我還是有許多時間可以徒步逛逛附近的小商圈。來到國外,免不了要練習著跟外國人交談,除了先前在飛機上遇到的義人外,我講最多話的一天,是因為房間內的無線網路失效,我拿著NB下樓去跟staff反應並測試給他看,同時也有其他旅客也一起在討論這件事,由於我對相關背景比較了解,所以我跟staff一直聊一些設定啥的問題。當然,被外語轟炸最恐怖的一天就是我在研討會報告的那天,從那個戰場活下來後我覺得我整個變成另一個人,這樣的練習也讓我在接下來的旅程中不再受語言溝通問題所困惑,因為膽子變大了。

“Ciao!”已經可以習慣性的進店家就講這句。

報告完後,我撤掉我的海報,小心的將圖釘收齊,最後走向美麗的會場秘書小姐,把圖釘盒遞給她時,她說了句Thank you後,我接一句 : “Grazie”,想不到她很自然的回一句 : “Prego”。果然,學語言先從「請、謝謝、對不起」開始學準沒錯!

報告完的隔天,我一早就起床將行李整理好辦理check out,staff很友善的說我可以先將行李寄放在hostel裡,等我參加完早上的研討會再回來拿。因此,我下午便從Como Lago出發,搭火車到南方約50公里的Milano。

其他照片請點選這裡