星期三, 12月 30, 2009

感謝

謝謝所有人對我的包容,ycma 與 scm 對我很好(讓我沒啥偷懶的理由XDXD),這幾天心情很好,應該會有持續的高產出 XD。


---
keep going.

星期日, 12月 27, 2009

vimgdb



這篇算的上是筆記。


gdb 是一個很用的 debugger ,而在 GUI 上我偏好用 ddd,但是在 Mac OSX 上灌 ddd 不甚方便 (MacPorts),我也不太會用 Xcode(Xcode 可以直接把 std::vector 印出來,超威猛 XD),所以前陣子在逛的時候,Kaie's blog 寫了兩篇相當好的文章,分別是

有了這兩篇之後,應該可以很順利的建立 vimgdb + gdb 7.0 的環境,當然,身為一個初學者的建議是,尤於 vimgdb 與 gdb 7.0 都需要自己 configure && make ,最好是建置在自己的目錄下,然後再 export PATH=$YOUR_BUILD_PATH:$PATH 會比較好。

有關 vimgdb 的設定,可以看看 Kaie 所寫的 gdb_mappings.vim,基本上我沒有在 .vimrc 上如同 vimgdb 的 help doc 寫上設定,建議是把設定全部寫在 gdb_mappings.vim 裡,而我在該檔案參考 Kaie 所寫的檔案加入了下面的數行

"" vimgdb setting
set splitright                  " set gdb windows split in right side
set previewheight=60        " set gdb window initial height or width(if you set splitright)
set asm=0                    " don't show any assembly stuff
set gdbprg=gdb              " set GDB invocation string (default 'gdb')
# ...
if s:gdb_k
    # ...
    nmap <silent> <C-V> :bel 8 split gdb-variables<CR>  " setl ctrl+v show variable window in button

而我們在 ~/.vimrc 下再加入一行

nmap <silent><LEADER>g :run macros/gdb_mappings.vim<cr>

以後在使用 vimgdb 時,按 \g 方啟動 gdb mode,算的上是一個比較方便的做法。而啟動後,可以參照 :help vimgdb 中來操作使用(建議一定要看,蠻多好用的快捷鍵,不然其實直接看 gdb_mappings.vim 也很 ok),比較不一樣的地方是,Kaie 的設定有做 key mapping ,只要 Ctrl + V 就可以打開 variable window,要讓 variable 顯示在 variable window 中,用 visual mode 選擇一個 variable ,之後再按 Ctrl + P ,即可。

其實自己也還在嘗試,希望以後自己就不用開 ddd 了 XD


---
have fun.

最近

醒了,這陣子都睡很多,已經二個禮拜不事生產過著頹廢的日子,是時候該繼續了,雖然在這段期間一一的把學校要求的作業完成,不過自己想要做的事卻沒完成半點,這樣子的生活再也不能過下去了,至於怎麼讓自己過的有意義一點,其實我也不是很清楚,每天盡量看東西練習東西,我還沒有忘了我的短期夢想,用 Haskell 寫 Compiler ,是時候該前進了。

嵐達網的推廣實在是沒個準頭,雖然 pagerank 很高,但是我想我還是得必需寫好一點的文,不然我可能變成降低水準的標的 XD 只能說盡量還是達成一個禮拜二篇的標準,其實我覺得這個要求沒有很難,沒有達成絕對是自己的生活過的太差了。

這個 blog 好久沒有發技術文了,老實說自己雖然在最近學到不少東西,但是不知道要寫什麼,不是說學的太多,而是覺得自己沒有好好的,深入的學習一個東西,這樣子的自己和大學沒有什麼差別,並不是很喜歡這樣子的自己,應該要好好的學習,好好的改變自己才是,不過一旦專心學習,efang 就會覺得我不太理她,可能是自己要找到的一個平衡點。


---
說了這麼多,仍是通篇廢話 XD

星期五, 12月 25, 2009

無題

一種無病呻吟


---
累了

星期三, 12月 09, 2009

請教問題

會寫這最段文字代表我最近水平降低不少 XD
以我最近愛看的鋼之鍊金術師解釋好了 XD

請教別人是一種等價交換,沒有付出就沒有獲得,所以如果程式有問題,請付出相當程度的努力,把努力表現給我看再來問我,我沒有收另外的助教費,所以完全是看自己爽度 XD,沒有人規定會寫這隻程式就一定要教會你,寫程式還是靠自己努力,別人怎麼教都是一時的。

這裡是大學,不是高中,不要有沒事說自己是大學生享受了大學生應有的權利,有事就用高中生的思維要別人幫你忙,不要說沒有人跟你說怎麼當大學生,這種問題應該好好自己想一想吧 XD?


---
寫這段文字應該會被公幹吧 XDXD

星期二, 11月 24, 2009

[工商服務] 最近相關的網站

最近因應自己身處的環境,大概跟這幾個網站有關係。

嵐達網 - 程式語言的同好中文網站
目前和 fire7617 共同負責這個網站,暫時以Lambda the UltimatePlanet Haskell and Haskell Cafe 為主,如果我能看的懂就會盡量寫。我暫時想要先把質顧好,所以對於如何擴充這個站暫無太大計畫。

SoC Lab - at CGUCSIE
目前這個 wiki 是由我維護,但是目前是一個穩定的狀態,所以應該暫時不會有太大改變,我也擔任了其中一科助教 XD。

小眾計算學 | for the few of us.
這是由 scm 老師 maintain 的 blog ,為了能夠推廣 programming language ,希望以後不是 few people 而是 many people。


希望以後能把自己的份內事做好嘍。


---

星期三, 11月 18, 2009

沈潛

難得我會一個人安靜的坐在桌子前,已經不太記得上次這樣子是什麼時候了,唯一美中不足的是,桌子還頗亂的...XD

靜下心來,發現自己最近已經好久沒有專心的處理每一件事了,要專心的時候總是不斷的被插斷,若要完成 multi-tasking 這種生活型態,首要之務是專心在當下把時間所排定的事好好完成(這某個程度代表我得把 msn, twitter, plurk, facebook 在專心時關閉),自己不找人聊天,似乎也越來越少的人來找我聊天了(這或許是好事一件 XD),專心這件事,需要花時間學習。每件事都沒有想像中來的困難,這是我這幾天轉換生活型態的體悟,其實很想要加速這個過程,但是也很明白,欲速則不達,只能讓自己慢慢的習慣這個生活步調。

不過似乎該思考的問題是,為什麼我的時間看似完整,但是卻被很多人切割的很碎,要讓自己的時間維持一個完整性,跟與人互動似乎要找到一個方法,不然有任何的外力就得中斷,得要好好思考解決方法,當然,都不要解決的方法就是,自己一個人在自己的地方做事,做完再出現,這在 Peopleware 及 駭客與畫家 皆有大概相同的看法。當然,Peopleware 還提及了一個人的工作效率和他的工作位子大小及不受干擾程度呈正相關。真的該好好思考解決這個問題了,我四年都沒有解決,我不想拖一輩子 XDXD。

---
結果首要之急是學習時間管理 XD。

星期一, 11月 16, 2009

multi-tasking

是時候學習這種模式了,不然現在的我一事無成,連程式都不想寫了。


---
不知道是好還是壞。

星期五, 11月 13, 2009

Windows 7

不要問我有沒有用過 Windows 7 ,我現在都是用 Mac OSX, Fedora, CentOS ,我很少用 Windows 了 XD


---
所以現在當好人的次數也急速下降 XD

星期三, 11月 11, 2009

programming language 與鬍子

我目前沒有留鬍子啦,不過我從 Facebook, twitter, plurk 留了

為什麼外國寫程式的一堆喜歡留大鬍子 XDXD。
然後接著 fcamel 就寫了
有人研究過程式語言作者鬍子長度和語言發展有正相關, 印象中有幾篇文章逐一比較, 滿有趣的 XD

我還蠻好奇的,所以去查了一下 wikipedia 然後我所知道的 PL 與 鬍子關係 XD

  • Haskell - Philip Wadler - 兩個人其中一個沒留
  • C - Dennis Ritchie - 好大的鬍子啊
  • C++ - Bjarne Stroustrup - 留了之後刮掉了 ...
  • Python - Guido van Rossum - 與 Dennis Ritchie 相比不算大鬍子 XD
  • Java - James Gosling - 也是留了個小鬍子
  • php - Rasmus Lerdorf - 三個發展者裡面唯一一個留了小鬍子的
  • Perl - Larry Wall - 山羊鬍的代表啊 XD
  • Lisp - John McCarthy - 跟 Dennis Ritchie 有得拼了 XD
  • ML - Robin Milner - 大鬍子一個
  • Ruby 的作者一開始沒留鬍子 (很難想像它是1995出來的), 後來留鬍子後 Ruby 開始翻紅, 所以後來再留也是OK的啦 XD (from: fcamel)

然後我看到 C# - Anders Hejlsberg 完全沒有鬍子啊(這代表 ... XD?),然後我把這幾個比較精采的留言摘錄在下面 XD

  • fire7617 - 鬍子先留長,以後發明程式語言就不用煩惱了 XDXD
  • Clara - 因為他們忙著寫程式沒時間刮鬍子XDDD
  • eating - 因為頭禿了總覺得要哪裡得有毛
  • legnaleurc - 因為歪果仁都很有禮貌
  • wanwan722 - 跟爆炸頭造就了拳王是同樣意思.. XDDD
  • jeffhung - 這樣熬夜寫程式後,早上起來就不用擔心忘了刮鬍子了。
  • bluegmn - 他們可能比較有禮貌XD
  • Mr. Daniel - 想要得到震震果實XD (yen3 註: 我要成為世界最強的男人 XD)
  • sang - 鬍子跟能力成正比~XD

scm 隨即在 mailing list 中回覆,,Dijkstra 的鬍子也是有故事的,scm 說 Dijkstra 有設計 Guarded Command Language 但是沒有實作,請看這裡在小眾計算學的文章


---
搏君一笑 XDXD

星期二, 11月 10, 2009

信件


我的 gmail 信箱大概從 2004 年 09 月開始用用到現在,用了五年了,今天突然開始整理信箱,發現也是真的有很多很多回憶就是了,不過這個容量真是嚇人啊 ... 我一直以為我不會用到破 1024 Mb 這個 size ,看來還是當初太天真了 XD

---
做個紀念

星期一, 11月 09, 2009

cgu to sinica

原來去中研院這麼遠啊 ... 這還是自己調過的路徑,自己騎車約 27km 左右,大概要騎一個小時。



在較大的地圖上查看cgu to sinica

---
上次去覺得更遠 ...Orz

星期三, 11月 04, 2009

This is it.

昨天明明在忙到哭爸的狀況下,我還是跟 fire7617 去了一趟電影院看 Michael Jackson 的最後一場演唱會電影。

雖然我最近聽的都是 Perfume ,但是我依然去看了這場對我而言很重要的電影,小時候在父親的影響下,開始接觸 MJ ,這邊不想寫我對他很景仰,但是忘了在那邊看,有段文字寫 "在這樣子的時空背景下所能創造出的天王,大概只有 MJ,而在這時間之後,很難會再有這樣子的人物產生了。" 對我而言,可能只有那一句 The King of Pop - Michael Jackson,很幸運的可以看到這樣子的電影。

前幾天在 ptt PLT 版看到 scm 老師徵人,我一時頭昏就衝了,老師也很快的回信,我卻懷疑了,我怕我會做不好,當炮灰去送死之類的,但是我在 Michael Jackson 的電影一開始看到,很多舞者知道演唱會要徵人,就衝去了,當然不盡然每個人都會美夢成真,但是,至少給我一種感覺,不要讓自己的人生過的後悔,我不知道,所以我會努力的做,做到我撐不下去為止,我不知道我的極限在那裡,或許不存在,或許無法超越,或許已超越了,這些都不是這麼重要,我只想做好每一件事,這樣子就夠了,感謝 scm 老師給我這樣子的機會 !


---
Josh Ko, 我會努力的,不會浪費這次機會。

星期二, 10月 27, 2009

研究雜想

或許以後,這種雜想文而亂無章法的文章也會出現在這裡。

如何達成 hardware parallelism 的目標,最基本的答案是 pipeline ,但是因此產生了 data hazrd, control harzrd, struct hazard,其實這三種 hazard 並不一定會存在,端看設計者如何設計,而每個 program 會存在不可平行的部分,如何跨過不可平行部分,變成一種挑戰。

如果我們先為一個問題建立模型的時候,其實我們是想要解決在 pipeline 下的 data dependency & control dependency ,進而展出種種的方法,所謂的 data dependency 簡單的來說,當你要用時,上一個在使用的指令還沒有使用完(所以會有 RAW, WAW, WAR),進而造成 data hazrd,解決方法以 Computer Organziation and Design 提出的 data forwarding 是最簡單的方法,這是在硬體的方法,其實在現有的 CPU 架構,一個 instruction 進入 pipeline 時,會被拆成數個 microinstruction 來執行,也就是說,如果我們在 Compiler 所解決的 data dependency ,進入 hardware 這層是否會有用,不知道(因為我沒有研讀這方面的資訊),hardware/ software solution 並不一樣,但是是為了相同的目的而存在的。而 control dependency 是為了不要讓 pipeline 空閒,提高 CPI,其實真的是如此嗎,我不覺得,如果把程式的指令視為可平行的部分,那麼 control branch 是不可平行之處,也就是說,就會跟沙漏的中間點一樣,停在那裡,要過那邊之後,又是一個較大的可平行區,解決 control branch 並不單單只是為了那個 stall cycle 而己,最終目的是為了追求高度平行化。

也就是說,就一個現在的架構上再加入 VLIW 與 Superscalar 來討論會產生怎麼樣的模型與問題,要解決這三種的 harzard 分別為何,找到問題就幾乎等於找到解法,所以他媽的我一開始就搞錯方向了,搞懂架構,猜出問題才是主要的解決方法,建立一個主架構,而 hardware 的 out-of-order execution, dynamic branch prediction, hardware specluation 與 sofware(compiler) 的 sofware pipeline, loop unrolling, trace scheduling, 等等,這些方法自然能貼到問題所建立的架構上,因應環境而提出解法。


---
好亂啊...

星期四, 10月 22, 2009

最近

我有空寫 blog 竟然是上課的時候 XD。

最近難得三個禮拜回家兩次,但是接下來什麼時候回家我也不知道 XDXD。每天都是看書,處理雜事,忙碌,從 Computer Organization 看到 Computer Architecture,連續兩個禮拜的腦子中充滿了 parallelism 和 ILP (Instruction Level Pararllelism),一方面驚嘆於 Computer Architecture 的架構美麗,一方面也對自己的無知感到嘲笑,總是要繼續努力前進才是,但是有一點覺得我是不是離 Josh Ko 說的越來越遠,到底什麼是現在的我當下想要的,其實我也不知道。

這學期當了助教,助教有助教的難處,學生也有學生的難處,總而言之,繼續做下去才會知道有怎麼樣的結果就是了,但是簡單的來說,遇到的學弟妹,有些人是想要把事情做好卻好像欠缺了一點元素,我卻不一定能幫忙,我總是會想說,我可以好好處理的,但是卻因為人太多而無法幫忙,我想,我應該會在這個禮拜之後改變做助教的風格。

其實還是很感謝 ycma 的支持,雖然我每天邊看書邊幹譙,說,靠爸,為什麼每件事都跟我猜的不一樣(其實猜的一樣我就有可能變大師,猜的不一樣證明我是普通人 XDXD),連程式都寫的很少,這對我而言是一個很好的現象,因為我總是覺得我不夠會想,背景知識不足,並不是一件好事,但是這也導致我每天幾乎沒有時間休息,我是不太後悔,每天的休息時間大概就是自己一個人躺在床上聽 Perfume (用 ipod touch XD),那是一個真正屬於我自己的時間,說來也神奇,很累的時候,聽歌或者是看 Perfume 的演唱會休息,體力和心力會慢慢的恢復,或許有時候自己真的需要一段緩衝時間吧,哈 XD

一直很想寫有關 Perfume 的介紹,最近在整理 Perfume Wikipedia entry ,希望過一段時間之後,能夠有一個較完整的呈現,上次在 blog 中放的歌是比較沒這紅的,這次來放 Perfume 的經典之作 - Polyrythm


---
結果又變成雜想文啦 XD

星期四, 10月 08, 2009

手機套

從以前開始,我從來不認為我是個念舊的人,因為環境使然,外加自己個性如此,所以我總是很自然的認識很多人,而又很自然的與很多人斷了聯繫 ... 從小到大,很常的印象中是自己一個人走著,到了高中雖然認識很多社團朋友,還是一個人走著聽隨身聽,似乎習慣了這一切。

不過這個狀況一直到了大學之後有所改變,因為在大學真的認識很多很好的朋友,而 eating, Clara 真的是很努力想要維持這段友情,讓我更覺得,或許我可以再嘗試一下,到目前為止,我還不想放棄任何事,就算我再忙再累也一樣。

現在的手機是 nokia 5200,是因為我對前一隻手機太差,在大二暑假換的手機,其實 nokia 的手機對我而言一直都是很耐操的,所以我也很樂得使用,只是已經不清楚在大三上那一天,我就隨口說說我想用手機套,eating 人就很好心的和她男友在逛街時幫我挑了一個很符合我的風格的手機套(絕對不是台客風格,雖然我個人風格有這一項 XDXD),還記得 eating 還打電話來問我說有兩到三個,覺得那一個比較好,當下的我是非常驚慌的,因為真的很少會有人買東西給我,自給自足的生活過慣了 XD 也忘了有沒有付錢,總之,這個手機套用到現在,是蠻喜歡,但是也很多感謝參雜於其中,有時候不見了也是蠻執著於找回來的,所幸現在還在 XD。

兩年多過去了,現在手機有點透逗,不過我想大概還可以用很久,大概等到不能用的時候,我會再努力找一個可以塞進這個手機套的手機吧(標準買櫝還珠的行為 XDXD)。


---
一個感謝的回憶。

星期四, 10月 01, 2009

架 wiki 雜感

這個暑假應 ycma 的要求,架了一個實驗室的 wiki ,一開始不知道要用什麼 wiki ,於是就使用了 MediaWiki ,一開始對於這種 wiki system 實在是不太熟,不過熟了之後其實很好上手,快速架了一個之後,其實還真的覺得蠻方便的,雖然中間問題不斷,我在查 MediaWiki 的問題時,都會特別列出 CentOS 的解法,不知道是很有名還是問題特別多(淚) Orz

這幾個禮拜發現,MediaWiki 的上傳檔案其實蠻亂的,一方面是我不太會用,一方面是 MediaWiki 真的很強大(換言之就是複雜),讓我開始思考是否有其他 Wiki 的解決方案,於是我就看到 FLOLAC09 所使用的 DokuWiki。

DokuWiki 是一個相當輕量級的 wiki system,架設的時候預設背後不需要任何資料庫,當然跟原本的設計理念: 當 wiki system 整個不能動的時候,希望能單靠資料夾的結構就能看出來當初架了什麼,這有好處也有壞處,DokuWiki 本身在上傳檔案的時候是沒有版本管理的,而 MediaWiki 這方面有作(不過後面是一個 Database),而 DokuWiki 在備份上也相當容易,僅把整個資料夾壓縮就備份成功了 XDXD,到其他地方再解壓縮後稍作設定即可,對於我這種對 MySQL 不熟的人相當方便(MediaWiki 背後會用到 Database ,備份時就要把 database 的資料 dump 出來),當然啦,其他地方的使用上也相對簡單。

DokuWiki 相當適合我這種懶人,也相當適用於小型網站,如果說資料很多,有數千到數萬以上的網頁的話,可能還是 MediaWiki 比較適合吧 XD? 但是我目前所要放置的資料沒有這麼多,所以我還是可以繼續懶懶的使用 DokuWiki XDXD。


---
兩個月來的心酸嗎 XD

星期五, 9月 25, 2009

Java 編程語言(第四版)

好友 Josh Ko 與 jjhou 譯的書終於出版了,不來寫一下怎麼可以 XDXD

這本是 The Java Programming Language 4/e 的中譯版,我敢推薦,因為是我朋友吧,等拿到書之後,再說吧 !


---
來買喔!!

星期三, 9月 23, 2009

TA

這個學期,因緣際會之下接了計算機組織&實驗助教 XD,我大概是誤人子弟的一個助教吧 XDXD。

這幾天其實沒念到什麼書,大概就是一直忙關於這科的事,其實第一次當助教,剛開學到第二週,我也不希望發生什麼太大的問題,雖然我一直認為我不太會處理雜務,不過這次助教給了很好的機會,所以 ycma 分配下來的事,自認為勝任愉快 XDXD,希望不會造成他太多麻煩才是,不過幸運的是,這堂課有另外兩門助教,合作應該是蠻愉快的。

其實我也蠻意外的發現,我用 LaTeX 已經可以勝任很多一般的文件了,算是好事一樁,唯獨畫圖,在 10.6 底下不能用 InkSpace,我還是得用傳說中的小畫家,真的應該好好找個時間學習畫示意圖才是,我不想每次都畫 pixmap 啊啊啊。


---
雜事學習很重要!

星期日, 9月 20, 2009

機車

我的機車兩次停在台北忘記拔鑰匙,而且沒有被偷走還被好心人放在隱密的地方,真是太感謝了 !!


---
efang 說我的運氣都用在這個地方了 XD。