星期二, 10月 05, 2010

yen3 and Josh Ko


My dear friends in Oxford ComLab.


---
For memory.

星期六, 10月 02, 2010

蔡健雅 - 陌生人


---
地球太陽又公轉幾圈了?

星期六, 9月 25, 2010

Haskell Practice - Parenthesis Balance

這題其實用什麼語言寫都差不多其實還是會有差,只是我才疏學淺,T55555 在他的 blog article 中寫出幾個相當好的範例!! 只是剛好出了 Unix 助教作業,就連帶用 Haskell 練習一下


check_string :: String -> Bool
check_string s = check_stack s [] 

check_stack :: String -> String -> Bool
check_stack [] s = length s == 0
check_stack (x:xs) s
    | x == '[' || x == '(' = check_stack xs (x:s)
    | otherwise = case s of
                      [] -> False
                      s:ss -> if (x == ']' && s == '[') || (x == ')' && s == '(') then check_stack xs ss 
                              else False


---
下次該來練習 Tree 了。

星期五, 9月 24, 2010

筋疲力盡

as the title.


---

星期日, 9月 19, 2010

Where'd you go - Fort Minor

今天就聽這首歌吧,對我們而言很別具意義的一首歌。


---
生活

最近

連自己都忘記自己心情不好多久了。我果然還是一個很任性的人 XD。在此還是謝謝很多被我煩的人,我也不知道要花多少時間從這樣子的狀態中爬出來,不過我想不久了。

該怎麼說呢,開學一個禮拜了,自己把生活搞的一團糟,有時候都在想,自己說要接 TA 是因為有自己想做的事,但是我是否能真的勝任嗎 ? 不知道,只能咬著牙苦幹,我最不想認輸的就是自己。

有時候連自己都會覺得說,我是不是在愛情上要求太多了,或許這是一個再值得思考的問題。

在颱風天,心情出乎意外的平靜,聽著音樂,另外一方面也保佑台灣人民沒有事,其實到這個年紀放不放假沒有什麼關係,但是希望全體人民平安比較重要。今天是禮拜日,經由朋友提醒,查了上班上課狀況才發現原來今天台灣放假。突然想到我之前看到別人的 blog 寫說,日本是沒有颱風假的(颱風來啦 上篇 下篇 - 接接在日本),台灣人就這個方面還真的是蠻幸福的,但是也希望能好好珍惜。

下個禮拜幾乎整個禮拜都不在學校,不過這個學期為了很多理由,我把所有的工作環境移殖到 MBP 上,那怕沒有網路我還是可以順利的工作,看來,早點調整成這個樣子還是有許多好處的,壞處就是,其實 MBP 不輕耶,背來背去也是需要練體力的 XD。但是整體而言,我很喜歡 1680*1050 的這個解析度螢幕,我的桌上型螢幕解析度是 1600*1200 ,幾乎相差無幾了,除了真的要寫很大量的程式時,會想要用桌上型螢幕 (雖然解析度差不多,但是字的大小還是有差的 XD),其他部分基本上使用一台筆電就可以完成了。不過另外一件讓人擔心的事是,鍵盤磨損的速度遠超過我的預期,總覺得再過不了多久,我就要把 MBP 送回去換鍵盤了,希望這天不要這麼早到來就是了。


---
記錄廢言與生活。

星期六, 9月 11, 2010

Synopsys Design Compiler Primer

這篇只是單純做個紀錄。最主要還是要感謝 ycma 寫了一個 sample script,我只是從中學習到一些事 XD。

其帢從 shell 底下打 design_vesion 就可以進入 GUI 畫面,但是每次進去都有重覆要設定的,而且重覆修改程式之後每次都用 design_version 的話並不是一個好動作,而 design compiler 提供一個 dc_shell,Synopsys 公司用的都是 tcl script,所以如果會撰寫的話會可以省下相當多的重覆性工作。

那麼寫 dc_shell command 會很困難嗎 ? 其實不會,design_version 打開後執行相對應的動作,都可以看到相對應的指令顯示在最下方,照抄就可以了。根據這個簡單有效的方法(還有記得參考本身的 doc),很快就可以寫出如下的 script


set COMPILEFILE {decoder.v reg.v reg_entry.v}
set MAINMODULE "RegisterFile"

set search_path {., /cad/celllib/CBDK90_UMC_Faraday/CIC/SynopsysDC/db}
set target_library {fsd0a_a_generic_core_bc.db}
set symbol_library {fsd0a_a_generic_core_bc.sdb}
set link_path {fsd0a_a_generic_core_bc.db}
read_file -format verilog $COMPILEFILE
current_design $MAINMODULE
create_clock -name "clk" -period 10 -waveform { 0 5 }  { clk }
compile -exact_map

report_timing
report_area

exit

其實 tcl 蠻好懂也蠻難用的 (汗),這個 script 也算的上是一目了然,大抵上來說讀入三個 Verilog File ,指定主要 Module 為何,指定 clock 訊號線,然後 Compiler 接著報告出 slack time 與晶片使用面積為何。

如果想要知道指令更多的 option,可以在 dc_shell 使用 man ,如果我今天想要知道的 report_area 的話,那麼會出現如下畫面

dc_shell> man report_area
2.  Synopsys Commands                                        Command Reference
                                  report_area

NAME
       report_area
              Displays area information for the current design or instance.
...

可能有需要我才會去查更多的細節吧,暫時先這樣子做個非常粗略的筆記嘍 XD


---
這篇是寫給自己看的,不然品質實在是不怎麼樣 XD

星期一, 8月 30, 2010

LLVM 筆記

如果想要使用 LLVM 來當作其中的 library 的話,其實沒有什麼相當統一的文件,最快的方式就是看別人的 code 及 mailing list,所以我想這會是非常困難的做戰方式 XD

這次有兩件事要筆記,第一件事,盡量不要嘗試自己編譯 llvm-gcc ,這實在是不好編,我編成功沒幾次 XD,建議直接使用 binary 檔,人生會快樂些。

第二件事,如果想要使用 LLVM 裡面的 header file 的話,請使用 llvm-config,以下面的 code 來說

#include "llvm/LLVMContext.h"
#include "llvm/LLVMContext.h"
#include "llvm/Module.h"
#include "llvm/Bitcode/ReaderWriter.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"

#include <string>

using namespace llvm;

int main(int argc, const char *argv[]){
    std::string filename = (argc>2)? argv[1]:"test.bc";

    std::string error;
    LLVMContext Context;
    
    MemoryBuffer *buffer = MemoryBuffer::getFile(filename);
    Module *module = ParseBitcodeFile(buffer, Context);

    outs() << *module << "\n";
    return 0;
}

llvm-config 雖然這只是讀一個 bc 檔之後然後輸出,但是中間會用到 llvm-objects 檔時,我們可以使用 llvm-config 來處理,而 llvm-config 的功能就是幫你生成要連結的函式庫及生成餵給 g++ 東西,如果想要知道更多細節,記得 man llvm-cofig,以這個檔為例,我們可以下這樣子的 command 去 compile

g++ -c -g -O2 -Wall  main.cpp -o main.o `llvm-config --cxxflags --ldflags --libs nativecodegen bitreader bitwriter` 
g++ -g -O2 -Wall  main.o  -o llvm_test  `llvm-config --cxxflags --ldflags --libs nativecodegen bitreader bitwriter`

至於用到什麼 Function/ Class 就該 include 那個檔案,目前我是用暴力法在 llvm doxygen 裡面尋找了 XD。

至於 llvm-config 有多少 lib 可以寫,可以使用 llvm-config --components 來看,得到的結果會相當的壯觀 XDXD

$ llvm-config --components
all alpha ... 


---
是該會用 cmake 了 XD

星期三, 8月 25, 2010

心境


老實說,我認識很多高中就會寫程式的人,而且我認識的每個都寫的比我好。大抵上都是很會寫 ACM,去比賽都可以拿下一定名次的人。而我就是那個很認真寫 ACM,在高中卻沒有拿過任何名次的人 XD(可見我還不夠認真 XDXD)。這其實也不是什麼壞事,在大學的時候也是比了兩次比賽,照樣還是沒有得到名次,就某個程度來看,我不是和比賽得名無緣,我應該是缺少某些東西吧。

我剛進大學的時候,數學不好,英文也不好,這兩點到現在似乎也是沒有多大改善,不過只能說很剛好的是,我不排斥看原文書或英文文件。雖然到現在對我而言,日常生活的英文我仍是苦手,至少混的下去,寫的出別人看的懂卻覺得很怪的東西就是(因為英語系國家的人根本不會這樣子寫啊 XD。)

老實說,很想為自己的 blog 換個標題,因為已經不符現在的心境了,不過暫時想不到要改什麼,就暫時不要改 XD。

該怎麼說呢,日前 ycma 跟我說,他認識很多台灣高中生畢業的程式設計能力和大學畢業沒什麼不同。這當然不是指完全一樣,而是指沒有顯著改變。老實說,我在我大四的時候,也有這種深刻的體會,工程面的問題是很重要,需求明確,的確是有整個程式工藝等待我們去發掘,但是就思考層面來說,我跟剛進大一的時候,沒有什麼不同,應該是說,會用來解決問題的想法就這些,甚至更少了,隨著時間而遺忘的東西可能比我們從這一路上拾起的東西來的多。幾曾何時,我曾經想從規則上的破壞尋找自由,這大概是高中時候的事。要現在的我來說,我想要從規則中重建規則建立自由。一直以來我很難忘懷海賊王的一句話

海賊王是這片大上海上最自由的人。

或許,這個 blog 的文章會繼續,但是不太可能是現在,因為現在的我,程式不會寫,想法不通順,真的要我寫出什麼不通順的東西,我也不知道我要寫什麼。但是不太會封閉,保持自己的與人溝通能力,持續前進吧。至少最近都很認真的在把自己的研究題目串起來。


---
我要成為海賊王~XD

星期三, 8月 18, 2010

最近

不怎麼順 XDXD

不過還好啦,習慣就好了 XD 原本預計三天前就要搬宿舍硬是被拖到了最後一天,我自己也相當無言,算了,今天能早點搬完我就很開心了。

看到 allents 在寫作,自己也想寫作,不過我一向很喜歡確定主題後再寫作。對於自己的主題無法確定,我也對自己感到相當的不耐煩啊 XD

研究的目標完全錯誤了,雖然之前想的東西不至於不能用,但是有一種感覺,要花很多時間橋回來了 XDXD。

戴了七八年的 swatch 表摔到鏡面內部裂了一道縫,還好目前勉強能防水,不知道能不能修就是了,希望可以修。

眼鏡在去看 efang 的時候不見了,配了一付新眼鏡,似乎沒啥人發現 XD。好吧,我自己也承認,我配的這一付正面看起來跟之前沒啥差別啊 XDXD。


---
報帳型式 XD

星期四, 8月 05, 2010

Perfume, allents

想來想去,還是用這個標題好了 :) (這是篇個人情感文,不想看可以趕快跳過 XDXD)

約在一年多前,我認識了 allents,呃,其實嚴格來說,他是我高中社團學長,但是我們其實不熟(就跟我一開始跟 Josh Ko 的情形一樣)。我認識了 allents ,然後他的隨口說說,我邁向了開始聽 Perfume,變成穩定歌迷的路。

如果在一年前的那時候跟我說,我可能會很喜歡 Perfume ,甚至會變成愛好者,我是會相信的,因為我是一個很奇怪的人。

該怎麼說呢,這一年多來,我聽音樂風格有很大的轉變,從以前一開始的 孫燕姿, Mai Kuraki -> Do As Infinity -> 張懸, Linkin Park -> mihimaru GT -> Perfume (各取代表人物),我也蠻想知道我的聽歌風格是怎麼樣,但是就簡單的來說,在台灣的可以開演唱會,在日本的至少可以上 Music Station Super Live,我覺得都還算是蠻正常的路線,而 Perfume 對我而言意義重大的原因是,我一直嘗試在跟別人走不一樣的路,聽歌也盡量聽的越怪越好,但是剛好在聽 Perfume 的時候,給了我一個喘息的機會,好好的思考。

為什麼我要聽音樂,我想聽怎麼樣的音樂。

其實很早就知道音樂是聽不完的,只是不想承認而己,或許聽歌就像解 NP-Complete Problem 一樣,我們沒有辦法找到最佳解,但是我們可以決定一個策略,讓我們很接近最佳解。或許我聽了太久人聲,但是我又不想聽古典樂(並不是我覺得古典音樂不好,而是到目前為止可能還是沒有愛。),很意外的,就在一個這樣子的時間點下遇到了一個恰當的出口。

人的聲音其實很複雜,對我而言,很像把很多個單調的頻率複合(compose)在一起達成一般人所謂不錯的效果(唱歌渾厚,高音怎麼樣怎麼樣的),電音相對簡單,與其實說簡單,不如說固定,一個噹噹噹,一個登登登就是一個聲道,這也造成我聽到某些的電音,必需很仰賴快或起伏強大來造成情感上的變化,因為聲音過於單調,電音變的很難讓人接受。就另外一個點來說,人聲聽久對我而言也是難以接受的,原因就像我之前提的,對於聲音的詮釋,是不是具有可替代性,這個我想到目前為止對我而言也是一個無解的問題。

聲音組合相對乾淨,而人聲冷冷不帶感情,這就是我對 Perfume 的第一感覺。不過這個部分,我想留到以後再說,我還有很多 Perfume 的文章要寫呢 XD。

allents 可以說是我這一年多來認識很重要很重要的朋友也說不定,去掉 Perfume 的話,我們話題會少很多,但是還是剩下很多 (笑) 覺得還蠻難得遇到各方面大想法相像,小部分想法差異甚多的人,這在講話的時候很省力,可以很快的進入正題,把事情好好的討論,而就情感上,我不在訴諸於這裡,只能說,我很感謝感謝他 (如果有看過 Perfume 演唱會,請把 A~Chan 的 "紅豆泥紅豆泥阿里阿豆" 代入,相信會得到一個不錯的映象),在對的時間,認識對的人,遇見對的事,這大概就是我的感覺。

對於我自己而言,我覺得我是一個台客,一個沒有什麼文化的人,我想,就這樣子繼續下去,讓自己的思考趨近於完整,賣弄文字,或許有一天會發現真正的自己其實是簡單自然不過的,我總是對自己說,知道和承認是兩回事的。

下筆的此時,希望自己的接下來一年可以好好的過下去,繼續為 Perfume 撰寫一系列的文章吧。(不怎麼專業的嘴炮文 XD)


---
虎頭蛇尾。

星期日, 8月 01, 2010

更新恐懼症

有一句古老的工程諺語是這樣子說的 ...

如果一個系統沒有壞,那麼就別動它。

對於一般使用電腦的人而言,其實軟體更新一點都不重要 XD。電腦能動就好了,為什麼要更新 ? 這是一般使用者最常見的疑問,而就另外一個層面而言,一般的使用者也不太在乎自己的個人資料是否會外洩(如果有玩線上遊戲可能會比較在乎一些 XD)。那麼到底是為了什麼軟體要有更新呢 ?

這對於沒有寫程式的人而言,到底為什麼要有軟體更新呢 ? 軟體在那邊好好的啊,於是我們會看到有兩種恐嚇方式,一種是,如果你的電腦不更新就會資料外洩啦,駭客攻擊啦 (老實說我還蠻想知道駭客攻擊是什麼 XD),一種是,你不能更新啦,一更新軟體的破解就全沒啦,很麻煩之類的有的沒有的 (這個濫觴我想是從 WGA 和 KAV 開始吧 XD),於是對於更新有所知道的人,要嘛死都不更新,要嘛死都一直更新 XD,不然就是完全不知道有這一回事的存在(這不是電腦自己該處理的部分嗎 XD)。

那麼對於對更新這件事已經有相當了解的人而言,更新其實還是一門苦差事,在 Windows 和 Mac OSX 上,更新其實沒啥大問題,Windows 除了更新時盜版和正版的攻防戰 (這幾年蠻常聽到一更新就變盜版 XD),其實還 ok,Mac OSX 常常會遇到一些神奇的東西(鍵盤韌體更新程式,我第一次看到實在是嚇了一跳),所以會更新的人,大部分都還蠻勤於更新的。會爆炸的機率很低,我是有分別在這兩個系統上一更新後重開機就再起不能的狀況,不過這麼多年來,這兩個系統是分別只有一次而己。不過我勤於更新是從 Windows 的 Blaster 病毒讓我三天睡不了覺之後開始的 (那又是另外一個故事了 ...) XDXD。

那麼在 Linux 上呢 ? 我從頭到尾都不認為 Linux 是給一般使用者用的 XD,每次光看更新列表我就頭皮發麻 (我承認我是在去年才知道 libxxx 和 libxxx-dev 的差別 XD),每次一按 sudo yum update/ sudo apt-get upgrade 然後就看到一堆有如火星文的套件跑出來 XD,這對一般使用者實在是不怎麼友善 XD,其實一般狀況下,我還蠻敢更新的,但是看到一些關鍵性的套件名稱,我也很懷疑我要不要更新 XD 常常會有更新完開不了機,不然就是顯卡再起不能,音效跟你說掰掰的狀況(千錯萬錯,都是驅動程式的錯 XD),真的有如我一開始引述的那一句工程諺語。

更新不見得會你覺得生活更美好,有時候是更糟 XD,這句話在 Linux 上更是重要。

那麼到底要怎麼處理更新這件事 ? 我目前的做法是,在所有平台上還是不要命的更新,炸了我就試著去解決 (在這一行混,總是得自己試著想辦法 XD,這時候我就會常常看 Bugzilla & mailing-list XD),ycma 的作法是,在 Linux 上調到穩定了就不更新,如果真的有必要要更新,一個一個套件慢慢試 (我這個懶人一定做不到 ...),其他人的作法我不知道,知道的人可以告訴我一下嗎 XD。

原本以為自己可以寫的很科普的,結果現在看起來還是一點也不啊 XD。


---
寫開心的嗎 XD

星期二, 7月 13, 2010

文字

如果將情感訴諸於文字,那會是怎麼樣的光景 ?

嘗試在文字中傳達訊息是一種基本,而傳達情感,則落入了解釋,無法確切的表示時。我總是捫心自問,為什麼我要寫出這些無病呻吟的文字呢 ? 因為無聊吧。


---
下一個開始。寫作。

星期六, 7月 10, 2010

MacBook 送修

在 FLOLAC 的時候 ...

godfat: 我的螢幕都亮暗亮暗的。
jaiyalas: 不然你要跟前面螢幕一樣$%^#&^&$ (其實我忘了他說什麼了 XD) (yen3按: 躺著也中槍...)
yen3: 亮暗亮暗還不錯啊,不然你要跟我的螢幕一樣開關開關嗎 XD
(自表結束 XD)

簡單的來說,就是我的 MacBook 的螢幕背光會自動關掉,而且再起不能 ... 到我按了很多次亮度調節為止 XD 於是終於在今天送修了(因為已經壞了七八天了,但是上課還要用到 ...),由於送修了,大概只能用以前的筆電和實驗室的電腦,都是 Linux ,應該會用不太習慣,不過最近比較需要多看書,所以影響應該蠻低的,可以順便練習和 Linux 熟一點

不過樓下那篇文章可能要等個幾天才能補完了...那是我送修前打的,工具用的比較熟 ...


---
我不是富奸(挺)

FLOAC 10 - Program Construction and Reasoning Quiz

這是我個人的答案,基於老師說要練習 (不想被 fire 掉 XD),我就練習了,但是我還不會排這種版型,傷眼就請見諒了 XDXD。


題目很簡單(不過我把寫對的答案擦掉改成錯的答案 XD),寫一個,寫一個滿足 P_0 的 program,這不難寫就是,利用上課教的技巧及 Exercise 3 的第一題,應該可以很快看出來,於是我們很快的就有下列推導。



重點是把 (a[i]-a[n])^2 = a[i]^2 - 2a[i]a[n] + a[n]^2 ,這樣子我們就可以在一個 loop 完成它。


所以這個時候我們就會得到四個變數 P_0, P_1, S_0, S_1,答案就呼之欲出啦。

待補,發現許多錯,先出門 XD


---
寫錯不知道會不會被罵 XD

星期日, 7月 04, 2010

FLOLAC10 Week 1

這週上了很多課,不過不打算在這個時候講感想,打算再過一個禮拜後再一次講。

其實老師人都很好啦,我有一種被洗腦的感覺,詳細解釋可以參考 Josh Ko 的 "邪教檢查表",其中聽到很多很棒的概念,也終於對 Logic 有比較好的概念 (不過我覺得我的邏輯還是不好 XDXD),中間還有認親大會 (我看到大貓(大鳥)了 !!),還有 C. E. W. ,還有 Logan (雖然不熟,我還是努力的裝熟 XD)。

這個禮拜覺得最可惜的事就是禮拜二沒來(在學校期末報告,還好得到了不錯的結果),我看 Functional Programming 的lecture 的 fold & unfold ,似乎跟自己的認知不太一樣,我覺得我自己之前想的太簡單了,是該在好好想想,也有另外一個感想是,我好久沒寫 Haskell 了。而 Operational Semantics 的話,第一堂課沒有聽到確實有很大影響,縱使我知道老師想要表達的是什麼,我也很難抓到什麼是重點,這部分只能說要盡量看書了。

scm 老師的 "Go To 有害大論戰" 在禮拜五的最後一個小時演講,這個部分的解釋可以看看 Josh Ko 的 "前途有望",整個演講以 Dijkstra 的文章為基底而討論了對程式該有的看法,誠如 scm 老師在一開始上課所言,我們是把寫程式變的比較難,但是我們讓寫出錯誤的程式變的更難。如果一開始就寫出對的程式,那麼其實後面就不用做這麼多麻煩的事,Knuth 的 efficient 和 Dijkstra 的 reasoning 都是很重要的事,Josh Ko 比較喜歡 Dijkstra 的看法,但是對我而言,我覺得我比較喜歡 Knuth 吧,但是覺得 Dijkstra 說的也沒有錯,這種事或許不是我現在的程度可以思考的吧 XDXD。

題外話就是,TAOCP 我終於訂了,花了好多錢啊,可能是拿回來拜的,但是我訂了一本 Logic and Structure,希望自己能多懂這些東西,不然每次都覺得自己數學很爛也不是辦法 (上課我要猜 loop invariant 都猜不出來,完全沒有頭緒要猜什麼 ... Orz)


---
中場休息

星期一, 6月 28, 2010

FLOLAC 10 我來了!!

嵐達網的文章還是持續沒更新,看到很多很有趣的新東西,一切都卡著明天的期末報告 ... Orz

不過重要的是,終於把東西都做的差不多,可以順利的第一天去 FLOLAC 10 而不用擔心太多事了 (轉圈圈),大概都把學校的事都完成的差不多了。今天上的是 Logic ,由 Max 上課,其實我還蠻期待這堂課的,因為我的 Logic 概念非常的差,希望能開心了!!

明天整天不能去,看來要找 Josh Ko 幫忙錄音才行了 ...


---
整體而言還是很開心 !!

星期六, 6月 26, 2010

plurk

即日起,plurk 從我的書籤列移掉,也就是暫時的無限期停止更新,如果有需要就請看我的 blog or facebook 了,雖然上面有一些朋友還蠻喜歡的 (fcamel XD),不過以後可能改採單獨看的型式 (或許用 rss 也說不定 XD)。


---
是時候該整合了。

星期日, 6月 20, 2010

期末報告

說是禮拜五晚上要交給 ycma 的東西,硬是遲了一天。

不過就現在來看,應該是有辦法第一天安心的去 FLOLAC 上課了,第二天再行請假(因為第二天要報告),為了確定這一些東西,LLVM 與 Trimaran 與學會 Compiler 的大架構,幾乎耗去了我這學期大半的時間,或許也是因對新東西的害怕吧,不過也沒得選擇,只能硬著頭皮去碰,但是大部分的東西還是他教與給我的,這點還是覺得非常的慚愧 ... Orz

還有一個禮拜就 FLOLAC 了,期末報告大概再改個三次就 ok 了,我想這一切應該是在時間之內。現在回頭想想,下一次能休息的時間竟然是七月中之後了,也是一個有趣的經驗吧 XD 換作是以前的自己,早就炸到翻掉了 XD,不過這陣子有感覺,以前學的時間管理完全得重來,因為我根本沒辦法執行這麼長的時間,學習是馬拉松,不是短跑,雖然知道,卻難以做到。也難怪自己常常成為食言的人了(苦笑)。

說到有趣的事,期末報告發現一些有趣的 Beamer 技巧,有空再補上來 XD。


---
看來標題改成 "最近" 也是無妨的 XD

星期六, 6月 19, 2010

梁靜茹 - 如果沒有

本來想要寫 Love Fool 的,不過後來聽到這首歌,頗有印象,這首歌是在我大學唯二的夜唱時,聽到eating 點的,聽到了覺得還不錯,就加入我的播放清單了。

說到梁靜茹的話,我有一天我聽到她唱的 "我喜歡" 這首歌,我姊剛好看到我在聽,我姊對我說

你好娘


---
這 ... XD