星期四, 6月 19, 2008

花園克拉拉

Clara是我少數認識會寫程式的女生(沒辦法,資工系女生本來就少XD),在認識她的大部分,她的寫程式其實架構良好,問題都不大。

不過當她的程式有問題,就是大家該撞牆的時候了XD 這是因為絕大部分時候,她錯的並不是程式問題,也不是邏輯問題,也不是架構問題,而是

打錯字問題...Orz

打錯字倒也不是一個很大的問題,她的手殘從來不會拖超過第二天就可以找到,只是想做個紀念,因為這個學期好像四次還是五次她的程式有大問題都是打錯字XD 這某個層面而言也不錯,至少沒有很大的問題存在。不過當辛苦幾個小時之發現是打錯字的問題,我想這心情也頗難描述XD。

不過總和而言,她還是一個很寶的人,尤其在寫程式上XD

---
做個紀念XD

星期二, 6月 17, 2008

小小嘗試

發現這個blog的程式文似乎沒啥人在看,所以想做一點嘗試,因為自己的英文很爛,寫程式文時,又很容易中英夾雜,所以以後應該會試著用英文寫作。但是鑑於自己的英文實在是很爛,所以請大家多多指正了~

---
拜託大家了~XD

星期日, 6月 15, 2008

Google Developer Day

這大概是我第一次參加Google的活動,也感覺到Google非常的有錢XD 同行的人不少,所以拿回來的餅乾也真的不少XD。

進入正題吧,由於專題需要,選擇了Maps API,由於自己的興趣,選擇了Clound Computing,我對於如何寫出平行程式具有蠻大的興趣的,做Application並不是我的強項。

Maps API 本身已經算是非常的完整,不過由於架構在Javascript上,事實上我覺得是AJAX,在手機上是無法使用的,雖然有Google Map Mobile,不過是一個close software,問了在會場的工程師,得到的Soluction有兩種,一種是,找到夠強的browser,一種是,嘗試去讀tile server(工程師說,網路上有很多破解可以直接讀的方法XD)。等事情告一段落會試試這些方法。

Clound Computing 這個技術其實是一個非常有趣的想法,一直會思考一個問題,如何寫出sequentional program,但是具有平行運算的效果,many to many,其實還是一個client-server的架構,但是把one server變成many server時,這個問題就變的很複雜而且很有趣。

題外話,每個人都跟我說在會場的女生很少,為什麼我會覺得很多,難不成我是錯覺嗎,在此節錄eating的想法 "少部分的女性中,大部分的女性來都是家眷而非相關科系的" hmm 觀察入微,不過我不知道耶,我現在一整個還是在思考會場所聽到的東西。

---
大概就是這樣XD

星期六, 6月 14, 2008

想法

我的想法跟大部分人沒什麼不同,如果對這個議題沒有興趣可以跳過(笑)。

前幾天,Smallpig老師丟出一個問題,我們憑什麼覺得Microsoft不好,你有付過一毛錢給他嗎? 而Google又真正好嗎? 免費的通常最貴 我只能說,我付了不少,不過我也承認,遠小於我使用的數目。

有關MS的討論,我在很久很久以前轉錄過一篇文章,我永遠都認為以前少不更事,當然,現在也沒多好(笑)。對我而言。

其實Google和Microsoft都在做一樣的事,只是Google做的比較成功。

MS其實是一個商業公司,通常在產品輸人時,會傾向把該公司買下來,不然就降價因應,最後不行才會真正想找人寫出一個不錯的軟體,今日的我不喜歡MS的原因,大概是不喜歡他的商業手法吧。雖然有時候我真的覺得MS有事沒事就要自己造一堆只有他的軟體能用的標準出來,讓software portable非常的低,這點也是讓我不喜歡用他的工具開發的原因。

我不喜歡被綁死的感覺,尤其是很貴的綁死。

Google其實是一個廣告公司,當然不可否認的,他們做的事真的非常棒,只是Google也是嘗試包下所有的Web Service,但是今天Google不會被人垢病的原因是,他所提供的服務通常是免費的,而且沒有很恐怖的廣告佔據你的眼睛。但是簡單的來說,Google就是想要包下所有的Web Service,然後放上廣告吸引人去點選,從中獲利。雖然表面上看起來沒有什麼很殘酷的商業手法,但是每推出新服務,無法避免的會對現有的廠商造成衝擊。其實會有一種猜測性的想法,如果今天新出來的一個idea,縱使想出來的人有辦法實作,那麼依今日Google的實力,是否有辦法找一群非常好的人把該創意複製下來呢? 不可否認的,Google可能有著全世界最頂尖的人才。

大者恆大,免費的最貴。

---
想法到此。

便當

今日參加Google Developer Day,中午的便當是我吃過最高級的,竟然會有我吃不完的便當XD

---
國網的便當...唉...Orz

星期五, 6月 13, 2008

誘人

雖然我對functional programming具有高度興趣,但一直沒有時間XD,如果我不太可能做相關理論,那麼學會寫functional program也是一個不錯的事情,今天看到了Erlang 程式設計 (Programming Erlang: Software for a Concurrent World)的出版,好誘人啊,有空應該會去看看。

此外,jjhou與陳裕成合譯的書也出來了"重構-向範式前進 (Refactoring to Patterns)"應該也會列入閱讀清單裡。

---
說不定就這樣子買了XD

星期四, 6月 12, 2008

BTree完工

比預計來的順利,簡單的文字介面也完工了。

---
介面比較難寫XD

當大Mac遇見小Mac



昨天有gscott老師詢問關於MacOS的相關設定問題,我主動要求幫忙整理他的電腦,於是有了一個很有趣的畫面。

---
雖然這還蠻常見的XD

最近

好久沒有紀錄一下了。

首先,還是恭喜好友的決定啊,畢竟是一件好事。

自己生病了兩個禮拜之後回來寫了三天的btree,預計明天或後天就接近尾聲了,生病的時候想了很多事,大部分都是蠻荒誕可笑,病好了之後也花了比較多時間在與朋友閒聊,讓自己不要那麼像機器。

人不是機器,如果像機器總有一天會倒。

養病時也看了一點書,母親也嘗試告訴我,人啊,一天的時間就是那麼多,每個人都很忙,與其還要想有多少事情要忙在擔心,不如想想完成多少事而開心吧,真是一個非常棒的想法,怪不得我的生活步調越來越慢,但是效率並不以前差。這個學期著實寫了不少的程式,雖然都是小程式居多,不過寫久了,對於寫程式的速度有相當的提升,人果然是要操的,雖然在這個學期休息時間是變的很少,不過依舊開心的過生活。縱使生活對於一般人乏善可陳,但是我越來越喜歡這樣子單純的生活了。

---
單純即是幸福。

星期三, 6月 11, 2008

debug

Btree實作的差不多了,只剩下delete要檢驗,而有關delete的部分寫超過200行。

---
大部分都重覆,所以還蠻煩的XD

星期日, 6月 08, 2008

seekg() and seekp() in C++

前幾天和efang討論一個問題,如何Random access a file,最主要要問題是能跳到檔案任一byte處進行寫檔和讀檔動作。我提出來的第一個解決方式,使用Unix System function即可搞定,對於unix而言,everything is a file,於是可以寫出這樣子的code

struct _bnode{  /* ... */  };

_bnode node;
int fd = open(filename.c_str(), O_RDONLY);
lseek(fd, index*sizeof(_bnode), SEEK_SET);
read(fd, &node, sizeof(_bnode));
close(fd);

write的code也差不多,我就不寫了,這樣子的確可以迅速的完成我想要的目的,不過efang問我,seekg和seekp呢? 好問題,我從來都不知道這兩個function(看來我熱愛C++的牌子可以收起來了XD),這兩個funtion也的確屬於C++ Standard,於是我又寫了測試碼如下

ifstream infile;
infile.open(filename.c_str(), ifstream::binary);
infile.seekg(index*sizeof(_bnode));
infile.read(static_cast<char*>(static_cast<void*>(&node)),
sizeof(_bnode));
infile.close();
infile.clear();

寫檔也一樣,只是把seekg改成seekp,也就不寫啦,其中inflie.read()是用了一點取巧的方法,因為C++是strong-type,所以得把_bnode*強制轉型成void*,才能再轉成read function protype的char*,這樣子對於讀取整個struct _bnode也方便的多。


---
看來efang比我更熱愛C++ XD



2008/06/17
In fact, it is not easy in random writing files. we can try to use the std::ofstream argument.

std::oftream outfile;
outfile.open(filename.c_str(), std::ios::in | std::ios::out | std::ios::binary);

It would avoid some problems.

星期二, 6月 03, 2008

休息

沒有全好,回家緩慢休養中,我答應了大家還要給大家一個健康的yen3 !!

---
努力休息中的XD~

星期六, 5月 31, 2008

上工

睡了好多天,該是上工的時候了,所有進度已經延後三四天了。

---
雖然中間還是偷偷解決了幾個簡單的作業XD

復原

大前天燒到37.6,前天燒到38.2,昨天燒到38.5,今天起床和一般沒生病感覺無異,只是體力差了一些,希望是好了。

---
一直發燒的感覺很討厭...Orz

星期四, 5月 29, 2008

休息

幾乎從大二以來每個學期都有一次過操勞發生偏頭痛,睡一整天就可以康復的差不多,這一次比較不一樣,剛開始是偏頭痛,後面直接發燒,在efang的陪同下看了醫生吃了退燒藥才沒事。

不過在此很感謝fire7617, gb014388, ColdFunciton, Edson,沒有大家,我不太可能好的這麼快。

---
聽說有人對我沒去上課很不爽XD。

星期二, 5月 27, 2008

寫作業

比想像中來的麻煩,不過積極解決中。

---
不解決也不行,哈

星期一, 5月 26, 2008

好友創作


今天好友snake傳了一張圖給我,是有關於期末考的感觸的,我看到了,雖然心有所感,但是不得不佩服這樣子的圖,極具大膽性的張力但是不失細節,還蠻喜愛的。

但是因為她才想到,對吼,期末考近了XD

---
管他的XD

星期日, 5月 25, 2008

戰略改變

聽從Josh的建議,一次專一解決一個程式,暫停分時多工模式

---
這對我也比較輕鬆

星期六, 5月 24, 2008

耐心

在什麼程式都很想寫的狀況下,寫程式得更具有耐心才行。

---
不過程式也有可能多到寫不完XD

星期四, 5月 22, 2008

OpenOffice 3.0 beta for mac

其實我一直是OpenOffice的愛好者,大概是因為他的跨平台性比起MS Office好了很多很多倍XD,3.0 beta脫離了x11,其實我也不知道是好是壞,但是執行起來還蠻穩定的,大部分不要太複雜的簡報都可以正常的觀看(隨機客的簡報看起來會變的非常慢XD),速度只能說差強人意,期待正式版嘍。

---
真是的一個很不錯的軟體。

閃光

最近不斷有人跟我反應說我和efang的blog太閃了,節錄某人對話如下

我一直很想看內文,不過旁邊那一塊太亮了,我都看不到

---
拍謝拍謝,我會改進XD

星期三, 5月 21, 2008

Windows Mobile 6 SDK 隨手筆記

由於完全沒有相關的開發經驗,所以其實去了是受益良多,一時之間也記不下來,我學新東西一向只著於兩點,一點是目的,一點是可用資源有那些。

Windows Mobile 6 Professional SDK應該安裝的有

  • Microsoft Visual Studio .net 2005
  • Visual Studio .net 2005 Service Pack 1
  • .net Framework v2.0 SP1
  • Microsoft ActiveSync 4.5
  • Microsoft Virtual PC 2007
  • Windows Mobile 6 SDK Professional
  • Windows Mobile 6 SDK Professional 6 - CHT Language Pack
  • Microsoft Device Emulator v2.0
  • Remote Display Control
  • (optional) WIndows Mobile Power Toy

列出來的參考書籍有
  • WIndows Mobile 平台應用與開發 by 劉彥博、胡硯、馬騏
  • SQL Server 2005行動裝置開發指南 ISBN: 9867198638
  • Microsoft Mobile Development Handbook ISBN: 0735623589
  • Microsoft .net Compact Framework ISBN: 0735617252 (以.net CF v1為底,觀念為主)
  • The Definitive Guide to the .net Compact Framework ISBN: 1590590953
  • .net Compact Framewrok Programming with C# ISBN : 0321174038

在Google中尋找有關Windows Mobile時,可以加入下列關鍵字

site: msdn2.microsoft.com inurl:library

如果想要看整個.net Compact Framework的概觀,可以

物件瀏覽器 -> 瀏覽 -> 編輯自訂元件集 -> 瀏覽 -> C:\Program Files\ Microsoft.NET\SDk\CompactFramwork\v2.0\WindowsCE\*.dll* 加入
然後
瀏覽 -> 自訂元件集 即可觀看所有compact framework的相關libarary

遠端工具操作介紹

  • Remote Zoom: 截取畫面
  • Remote Process Viewer: 遠端工具管理員
  • Remote Registry Editor: 遠端登錄檔編輯器
  • Remote File Viewer: 遠端檔案總管

如果有問題,可以至官方討論區討論: 微軟技術社群討論區 行動與嵌入式裝置開發或者去中國CSDN

C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\Diagnostics\
底下可以找尋相關的CHT的cab檔裝在裝置上,可以獲得較多的Exception資訊


---
好亂...Orz

星期一, 5月 19, 2008

重灌

在MacBook上分割Windows磁區失敗,可能整台Mac又要重灌了...Orz

---
很久沒有寫blog,這個竟然是第一篇...Orz

星期三, 5月 14, 2008

地圖


今天早上逛痴漢水球的blog,看到了這張地圖XD

---
我笑了XD

星期六, 5月 10, 2008

返家

六個禮拜沒有返家,頗有一種近鄉情卻的感覺...

---
前陣子還蠻想回家的。

星期五, 5月 09, 2008

遺憾

我有關學Computer Science的遺憾有很多,現在遇到 SmallPig老師,有時候還真的蠻想把一堆有關網路相關呈現技術搞懂的,這也是我所不會的一塊,有空應該是要專心花時間搞懂,所謂的文件,應該不只有排版的pdf,在網路上的呈現也是相當重要的一環,不過我卻在網路這一塊知之甚少,該是花時間的時候到了。

昨天看到Erlang的介紹,應該會抽點時間去了解這是什麼,不過看到另外一篇介紹,想不到竟然是functional programming language,這更讓我覺得有趣了XD

---
雜記文一篇

星期四, 5月 08, 2008

可樂

今天中華電信桃園分公司經理(聽說是很大的職位XD),因為報名參加了中華電信加值比賽,來到我們學校送禮卷,有參加就有獎XD,一個人拿到了400塊統一集團禮卷,可以在7-11, Starbucks, mister donut, 康是美, Coldstone(我聽eating介紹才知道XD),等等消費,算是蠻方便的,於是我跟efang說了。


yen3: 我拿到400禮卷耶~可以用在7-11 balabala
efang: 請客~
yen3: 好啊
efang: 我要喝可樂~
yen3: XD

之後又有對話如下


yen3: Clara和eating聯名推薦 ColdStone http://www.coldstone.com.tw
efang: 喔喔喔
yen3: 你會想去嗎
efang: 還好耶,我比較想喝可樂XD

---
這樣子可以喝好多好多可樂XD

聽說 FLOLAC'08


這樣子的blog頗有被Josh入侵的感覺,只剩一個禮拜了,有興趣的可以趕快報名,我想想我能做的只有這樣子吧,有興趣的就可以進去喔,因應節慶,調整成Josh送的桌面

---
雖然我也蠻想去但是我不能去XD

星期二, 5月 06, 2008

體會

我一直以為我得到別人很正向的reponse是一件很幸福的事,現在漸漸在理解,如果自己給需別人的想法越大,所得到的reponse也是成正比的,也就是說,在正常的狀況下,可以帶動人與人之間的氣氛。

---
不過這個問題需要再思考

睡過頭

睡過頭導致全部的事都超出預料,還沒有午餐可以吃....Orz

---
再過一個小時就可以吃飯了...

星期一, 5月 05, 2008

Page Rank

Josh Ko 升成4分,我升成2分,神奇的是,efang 升成1分XDXD

---
PageRank的家族關係嗎XD

星期日, 5月 04, 2008

搞笑

剛剛突然想到,為什麼要有std::find()和std::find_if()的分別,翻了一下書,就知道為什麼了XD


template <class InputIterator, class EqualityCompareable>
InputIterator find(InputIterator first, InputIterator last,
const EqualityComparaable& value);

template <class InputIterator, class Predicate>
InputIterator find_if(InputerIterator first, InputIterator last,
Preicate pred);

在還沒有具現化之前,兩個function都是三個argument,是分不出來的,看來沒有睡醒真的不是一件好事

---
快樂的生活快結束啦XD

Heap Sort v2

在Josh Ko的幫忙下,終於寫成可接受的heap.hpp了,現在可以試試了

---
終於要進入正題了嗎...XD

Inclusion Model

事實上是為了回覆問題這一篇,在經過Josh Ko幫忙之後,我在"C++ Templates全覽" "6-1 置入式模型(Inclusion Model)"找到答案,實際上,template code是不支援 separation compile,在p.63有提及

function template的定義並沒有具現化,為了具現化一個template,編譯器必需知道"以那一份定義式"以及"以那哪些template arguments"對它具現化。不幸的是這個例子中,這兩項資訊被分置於兩個分開編譯的檔案...

而接著又在下面提到

解決這個問題最常見方法是,把template定義式放到其宣告式所在的表頭檔,可以在xxx.hpp最後一行加入#include "xxx.cpp";,也可以用到該template的每一個.c檔案中#include "xxx.cpp", 第三種作法是完全丟開xxx.cpp,把宣告和定義全部放進xxx.hpp ... 這種template的組織法稱為"置入式模型(inclusion model)"

在文中有說明,如果使用了,事實上也會連結hpp中其他的碼,讓程式碼非常的大,也會讓編譯時間變慢,但是不得不否認,這是一個最不會帶來問題的方法,書有說明,我引用的非常多啦,在此就不描述了

---
在Josh Ko幫忙之下,讓自己渡過一個愉快的週末XD。


Macintosh-2:huffmanTree yen3$ g++ -o test.out test.cpp heap.hpp
ld: warning in heap.hpp, file is not of required architecture

雖然compile過了,但是還是對這行waring非常感冒,還是想想怎麼解決好了


在回覆中有提到,其實g++ -o test.out test.cpp就可以解決了。

點名

A.被點到名的在自己的部落格裡寫下自己的答案,然後去掉一個你最不喜歡的問題再補上一個你的問題,仍然組成20個問題,傳給其他8個人,列出其他8個需要回答問題的人的名字,還要到這8個人部落格里留言通知對方~~~你被點名了,被點名者不得拒絕回答問題,完成遊戲的人將會永遠得到大家的祝福.

B.這8個人要在自己的部落格裡註明是從哪裡接到的,並且在傳給其他8個人,讓遊戲繼續下去"不得回傳".被點名字的人將會得到大家的祝福,並且所有美好的願望都會在不久的將來實現

我是被efang點名的,點到就寫吧,雖然我有很多朋友寫blog,但是沒啥人點到我XD

************************************************

1.如果喜歡的人把你撲倒,你的反應是?
答: 應該不可能發生(笑)

2.下輩子的你(妳)想當什麼?
答: 狼

3.你最想去哪個地方?為什麼?
答: Google 總部,那邊一定存在很多高手,可以學到很多東西

4.最受不了自己哪個缺點?
答: 過於自信

5.如果有不開心的事情,你會怎麼辦?
答: 找efang、寫程式、睡覺

6.最害怕失去的東西?
答: efang

7.喜歡當女人還是男人?
答: 男人

8.最令你難忘的人,事,物
答:efang, programming, thinking

9.如果你有一億元,你會拿來怎麼用?
答:七成交給父母,三成交給efang

10.對一場無即而終得戀情你會複合嗎?
答: 不會,不追求逝去的想法。

11.如果被喜歡的人拒絕,怎麼辦?
答: 不追求,雖然令人傷心,但是就隨風而去

12.誰曾經做過令你感動的事,什麼事?
答:太多了,每個人都做過很多讓我很感動的事

13.目前你的心裡有沒有喜歡的人?
答: efang

14.你愛錢嗎?
答: 夠生活就好,其他的錢可以拿來買書。

15..現在最想要做的事?
答: 休息

16.你最希望達成的願望?
答: 與efang平靜的渡過一生,每天快樂的寫程式

17.跟情人的發展程度
答: excellent

18.對現在的生活滿意嗎? 為什麼?
答: 還不錯,如果我可以再睡多一點的話XD。

19. 現在最想要的東西?
答: 朋友回來一起做事

20.說出傳給你的人的優點和缺點各一
答: 優點:可以依靠 缺點:依靠成習慣

我的題目:
No thinking

點點點
Josh Ko(雖然知道不會寫,還是期待一下 XD)
這會讓我想到小世界原理,我就不點了。

---
我習慣把事情快速解決

星期六, 5月 03, 2008

問題

遇到了一個我覺得不會發生問題的問題。


Macintosh-2:huffmanTree yen3$ g++ -o test heap.o test2.o
Undefined symbols:
"void heap_sort<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >)", referenced from:
_main in test2.o
ld: symbol(s) not found
collect2: ld returned 1 exit status


---
克服中...Orz

休息

最近的我很閒嗎? 老實說也不會。

今早起來為了演算法作業裡面有提到的huffman tree實作,考慮使用heap-tree來實作,但是訪視自己所實作的heap-tree,實在是不盡人意,於是今天又重新利用Random Access Iterator的概念來實作,實作出來只能算差強人意,暫時把程式碼釋出,看看最近有沒有空,再把compare獨立成一個function object,讓程式碼的復用性更高。這也是一個蠻有趣的娛樂。

---
當然我還記得Huffman Code這回事XD。

星期五, 5月 02, 2008

合作

有很多事說穿了其實是一樣的東西。

我不否認我非常喜愛閱讀Design Patterns 和 Refactoring 之類的相關書籍,因為裡面提到的方法非常之吸引人,OO方法論是我非常早就接觸到的一件事物。不過在實際開發上,我鮮少用到這些東西,應該是說,有用到也只是皮毛而己。為什麼呢,說穿了很簡單,不要為了Patterns而Patterns,Refactoring也是。

我與人進行軟體開發時,也非常少用到這些我所喜愛的事物,我所認為的patterns,應該是程式寫到一半,腦袋上面突然有一個燈泡亮起來說,啊,這個地方可以這樣用,而不是,解決這個問題的方法,我們就用這個patterns吧,事實上書上提及的只是一個想法,鮮可以原封不動而直接套用的,這種機率非常低。而且更重要的是,我現在所寫的程式強度倒也沒有會用到,當然可以當作練習,不過強迫別人做這件事是非常奇怪的事。

我不否認我喜歡XeLaTeX這個排版語言,我也會四處與人推廣,但是一旦我與人合作寫文件時,我還是使用Word, Powerpoint來做為首選,XeLaTeX自己玩玩可以,但是沒有必要強迫別人跟自己一樣,當自己有興趣時,可以玩玩,甚至做大膽的嘗試都可以,但是與人合作時,應該以團隊都能達成的強度做為考量。就算整個團隊都會這些高度工程藝術了,也是得小心翼翼的使用,不太了解為什麼有些人可以成天開口閉口就OO,patterns。

但是有一件事還是很重要,就是可以推廣這些思考的存在,而不要讓自己思考時落入規格中,這些方法真的很漂亮,看看說不定會給自己另外的世界,但是如果真的硬要實作這些方法,我只能說。

招式是死的,人是活的

硬要用這些招式,恐怕只會逼死自己,一般狀況下大家都懂的已所不欲勿施於人,但是遇到這種狀況時,就忘了這件事,也是一個有趣的現象。

---
難得寫這個議題XD

星期三, 4月 30, 2008

生活

每天都把自己逼到很累...其實也不知道為什麼,工作是一種生活,而我就是實踐這種方式的人。其實也會有一點小失落,因為專題緣故,並不是我每天做的事都能對外釋出,所以我只能努力的做,然後期待專題結束,比照上次,把所寫的及所做過的東西釋放出來。

當然也有點對不起gb014388和snakexu,兩個人的生日我都沒空寫祝賀文了,在此還是得跟她們說生日快樂,有時候真的覺得自己這個身為朋友的不夠稱職,請大家多多擔待了。

其實寫作的另外一個好處是可以回顧自己的寫作軌跡,所以我也很喜歡看自己的blog,還好StatCounter不會計算我所造訪的次數,不然應該是大爆炸才是。我想我的人生如同我以前所說的,一切即劍,萬里一空。

不把自己的標準加諸於別人的身上,因為這就是我的生活。

---
但是感謝朋友加諸於我面對生活的動力。

早起

在經過很長一段時間睡眠不正常後,昨天正式回到十二點睡,已經很久沒有那麼早起過了

今早Mac OS更新時,看到一份期待已久的更新啊
---
我比較喜歡這種生活。

星期六, 4月 26, 2008

生活

聽從Clara的建議,讓自己放慢生活的腳步(其實我自己覺得我過的不快),有很多問題可以討論,我想等到過幾天再說吧。

今天藉由閱讀來放慢自己的生活腳步,於是我選擇"重構-改善既有的程式設計(Refactoring - Improving The Design of Existing Code)",在p.61 "間接層和重構(Indirection and Refactoring)" 文中提到

計算機科學是這樣一門科學:它相信所有問題都能藉由多一個間接層(indirection)來解決。 - Dennis DeBruler

看到時雖然驚訝,但是不失望,因為我在很早之前就對ycma提出了這樣子的想法,不過總覺得有很多需要思考的地方,但是這篇文補足不齊之,大都是物件導向軟體工程看法,ycma曾跟我提過,在硬體上多一層就會多很多麻煩,不過看這種書,就多多思考吧。

---
事實上,我不太知道如何休息,就讓閱讀取代休息吧。

星期五, 4月 25, 2008

最近

先對祥龍說聲抱歉,我晚一點才會寫生日文,真的是太忙了...

真正想要下筆的時候卻不知道要寫什麼,有時候唯一能做的事,就是讓自己埋頭於螢幕前努力工作,直至累趴,習慣了,很多事其實都一樣的。

---
C'est la vie

星期二, 4月 22, 2008

有關學習的兩三事

由於不怎麼念的下書,最近做的事又乏善可陳,只好寫點這樣子的文章來欺騙社會大眾XD

這兩天把Peopleware看完一次,頗有心驚的感覺,原來以前做對了很多事,但是也做錯不少,寫成文章有一個好處,讓你能夠不會再犯錯,也由於蠻感動這本書所寫的,想要買一本英文版回家K,但是天瓏說缺貨中,無妨,再等等看吧。

最近由於寫程式的關係,常常需要看相關資料,這部分的心得,我引用Jserv's blog: 對自己好一些:談技術手冊閱讀來作結,他寫的很好,我實在是不需要重寫一篇。沒有人可以否認,從Google上得到的資料相當的片段(不過能找到整個上課投影片也是一個不錯的選擇),如果自己手上沒有一本技術手冊,無法從該技術做一個全覽是一件相當可惜的事,除非只是即興寫作,抑或是應付了事,不然我覺得,擁有該領域的一本良好技術手冊,是相當必要的。

但是在學習時發現,現代人的心態,有時候習慣於補習班的教育,有人教最好,沒人教就跟老師橋,過度習慣別人給你資訊,如果能力不足,尚可原諒,如果志不在此,也可理解,但是天生就是要走一行飯的,實在是得把"看技術手冊"和"Googling"兩件事並列首位,而不是不會就問人,拖到會為止,這樣子顯得相當奇怪。我問人頂多問到keyword或者是該領域的技術手冊,剩下的自己來。通常這樣子的學習,幾個round下來,對於學習能力大有幫助,久而久之也習慣了這樣子做,方能讓自己成為獨立學習的人。有人問過我,為什麼人會產生如此的局面,我只能說,當人越來越懶的時候,是沒有理由的。

---
嚴肅快筆書寫

Big Eyes

最近終於有好事發生了。

---
Go!

工作環境


最近的工作環境為此,相當不錯,事實上我有對自己工作環境拍照的習慣,不過現在都用手機拍照比較多了,哈

星期一, 4月 21, 2008

學弟,有種

身為一個不成材的學長,我想對學弟說

雖然沒有做,你他媽的你真的很有種,以後我要叫你有guts的男人

---
CF

美麗

在接觸過那麼多programming language之後,到現在我還是感嘆於C/C++的美麗,精簡的語法建構一個又一個美麗主題,太漂亮了。

---
真想用C++開發出一個美麗的東西,會有機會的XD。

星期六, 4月 19, 2008

發現

最近自己的打字速度又比以前快上不少,連帶寫程式速度又變快了。

---
誰說壓力沒好處XD

星期五, 4月 18, 2008

utmpx

在大部分的linux下,是可以從"/var/run/utmp" 這個路徑得知現在使用這台伺服器的使用者資訊,資訊是開放任何人可讀,不過在Mac OS 10.5以後不支援這個檔案,而改採用NetBSD的utmpx,故資訊可從"/var/run/utmpx"這個檔案讀到。寫了一小段測試碼如下

#include <stdio.h>
#include <utmpx.h>
int main(){
struct utmpx utmpx_entry;
FILE* fp = fopen("/var/run/utmpx", "r");
while(fread(&utmpx_entry, sizeof(struct utmpx), 1, fp)>0){
printf("%s\t%s\t%s\n", utmpx_entry.ut_user, utmpx_entry.ut_id, utmpx_entry.ut_line);
}
return 0;
}

事實上我覺得使用起來沒什麼差別,不過細細比較utmp.h和utmpx.h之後,會發現struct utmpx記載了更多資訊,可能更符合現在的作業系統設計,畢竟現在的作業系統不是只有單純的command line了,而一個xwindow也是一個terminal,所以我覺得新增這些資訊還算蠻合理的。

---
事實上這篇重要性不大XD

期中考

一覺醒來與Clara說話,被提醒時發現,期中考近了...

---
做專題做到忘記期中考...Orz

星期四, 4月 17, 2008

測試

今天中午醒來,思考,如果unix system call都是C 寫成的,是否有辦法用class包起來呢,於是寫了一個小小的class測試一下。

class FileAttribute{
public:
FileAttribute(const char* dir, const char* file){
name = string(file);
path = string(dir) + "/" + name;
stat(path.c_str(), &buf);
};
FileAttribute(string& dir, string& file){
name = file;
path = dir + "/" + file;
stat(path.c_str(), &buf);
};
const char* ab_file_path(){ return path.c_str(); };
const char* file_name(){ return name.c_str(); };
bool is_file(){ return !S_ISDIR(buf.st_mode); };
bool is_dir(){ return !is_file(); };
unsigned int size(){ return buf.st_size; };
private:
string path;
string name;
struct stat buf;
};

看起來成效不錯,其實效率很差,多一層包裝,就要浪費掉很多時間在此包裝上,不過如果在發展大型程式時,還是有其包裝的必要。
---
我真無聊,不過我喜歡XD

星期三, 4月 16, 2008

耐心

在越忙碌時,又記得這兩個字的重要性,若無此個性,則無法完成任何事

---
最近是磨練的好時期。

星期二, 4月 15, 2008

簡單、複雜、思考與證明

這段文字很早很早之前就想寫了,不過總是沒有一個好的著力點,不過我得先聲明,我數學和英文都不好XD。

我朋友問過我一個問題,為什麼總是有人要把一個很簡單的問題變的很複雜。此外也有等價的問題,有人跟我說過,要證明1+1=2是數學家無聊做的出來的事。

先回答第二個問題,因為比較簡單,在普遍狀況下,1+1=2是成立的,問題,我們如何證明+這個元素存在,又如何證明兩者等價,這在高等微積分好像有解答(我不會也沒修過,不要問我XD)。而且證明1+1=2的人是Bertrand Russell和另外一個人,花了320頁證明,他是用邏輯證明的,千萬不要小看這個證明,這個證明讓數學與哲學有了連結。他是一個哲學家。數學家和哲學家並不無聊,為了讓整個理性的社會存在,他們可是花了不少的功夫。

那麼為什麼總是要把一個簡單的問題變成很複雜。好問題,這對我學英文時也造成不少的困擾,雖然我英文從來沒有好過。我在用英文的時候想過一個問題。為什麼不能用簡單的字,而是要學很多很複雜的字。(這或許造成我某程度懶惰不背單字的原因XD),在這些等價描述下,唯一要做的解釋就是...

嚴謹是一件非常重要的事。

人類之所以發明文字,發明思考方式,一切只是為了知識累積,讓後人可以站在先人的智慧上,做出更多的開展。人類的學習就像一個超高速齒輪一樣,剛開始會很慢很慢,到最後會越轉越快。於是,怎麼把知識做一個正確且快速的傳遞,變成一個很重要的事。於是乎,寫作要求嚴謹是一件很重要的事,那麼怎麼讓嚴謹做一個最好的呈現?

發明符號和語言變成相當重要,數學對於大部分的人可能落於算術這個部分,但是數學最迷人之處就是,如果你能夠用數學語言看到這個世界,很多事是垂手可得的,你用邏輯語言看懂了另外一個世界,就會發現,原來還有很多很多思考的方式。

不過最不幸的是,符號和語言是先人制定的,這兩件事往往成為門外漢(如我XD)學習最大的門檻,那麼為什麼要用最嚴謹的符號和語言來定義呢? 因為在知識的累積和展現上,不太能容許出錯或定義不明之處,這會讓承先啟後的人們顯的相當無助(發明人都做古時,去那問啊XD),然而這在一般的狀況下卻不是很大的問題,因為肯在某個領域學習的人,往往可以很快的適應。如果學的會這些東西,可以為自己打開一扇窗,快速的學習與探索自己想要學習的東西,可謂是相當的快樂。

而我呢,大概只會程式語言吧,只是剛好有所機會看到一些東西,算是蠻幸運的XD

---
因為幸運所以偷懶嗎XD

星期日, 4月 13, 2008

想寫點東西卻又不知道要寫些什麼...

---
Just that.

星期六, 4月 12, 2008

錯誤

當已知發生錯誤,總是在無法挽回的時候

---
我不是聰明人。

星期三, 4月 09, 2008

便利

前幾天Mac OS X被我搞的並不是那麼穩定,所以今日重灌,還蠻便利的,選擇清除重新安裝後,再用TimeMachine復原資料,但是留下一個乾淨的系統,有些command line底下的東西要重灌,不過正符合我意,因為我前陣子一直在測試,重灌過程相當愉快。

---
在這方面Apple做的真的是蠻不錯的。

星期一, 4月 07, 2008

有感

這陣子作業著實不少,不過都是小作業居多就是了,昨天使用Visual Studio .net 2008 Team Suite 的測試程式是否正確否,簡單而言,就是存在一個function,給予一個input和 excepted output,而軟體會自行幫你比較程式輸出結果是否正確(不過只有C#有...Orz),這對大型專案應該是一個蠻有用的工具。所以我寫了一個簡單的測試碼


public static int[] BubbleSort(int[] u){
/* ... */
return u;
}

之後VS所產生的測試碼片段如下

public void BubbleSortTest()
{
int[] u = { 3, 5, 2, 4, 1 }; // TODO: 初始化為適當值,此行為自行輸入
int[] expected = {1, 2, 3, 4, 5}; // TODO: 初始化為適當值,此行為自行輸入
int[] actual;
actual = Program.CountingSort(u);
Assert.AreEqual(expected, actual);
//Assert.Inconclusive("驗證這個測試方法的正確性。");
}

很可惜的,這個測試結果會告訴你,永遠是錯的,expected 永遠不會等於actual,我起初還蠻天真的認為說應該會等於,其實不會,因為AreEqual對於此型別的比較等於C++中的int* == int*,只要兩個存在指向不同記憶體之處,其值就不可能相等,而我移到AreEqual的程式碼定義處一看,哇,什麼都有,似乎沒有針對這個狀況所解決的方案。其實這算是一個小問題,而C#也支援Generic,稍微改寫一下即可支援,但是這樣子的問題出現在一個這樣子的軟體上,似乎不太對勁,當然,也可以跟我說我的使用方法不當,或許我真的不太會用這套軟體吧。


C#是MS發展算蠻成功的語言,雖然抄襲自Java,隨後又用了一堆C++的概念,導致我遇到錯誤時,兩個語言的思維都套上來試試看,大部分的問題都會有解,但是很難免的都遇到現存高階語言存在的一個問題,發展的過於龐大而難以維護(我得說C++算漂亮的,以發展library來降低整體複雜度),現在的C#,沒有VS.net就很難開發,而這個語言沒有一個統一的思維,也是一個很有趣的問題。


算了,如果用以前MS的東西恐怕會更糟。



---
發個牢騷XD

星期六, 4月 05, 2008

學習

現在在看php,對我而言,php真的是一個很歡樂的語言,可以用php做很多事XD

---
只是沒有compiler嗎 XD

I am Legend

我大概跟一般人相反,我只有看過小說沒有看過電影XD 或許回校時會借來看看。

文學和電影最大的不同是,由於電影要給大家看,不太能敘造太多悲劇或結局,而且文學的美感,轉換成影片時會有一定量的失真,所以因應這種媒體的轉換,改寫是必然的。

這本書是暢銷書,跟電影有很大的關係,不過我得說,除了這篇小說,後面所書寫的小說就略嫌老套,抑或是說,這本書出來甚久,在當今的時代,這樣子的寫作方法已經非常常見了。

等電影看完再一次寫心得吧

---
寫這篇是騙文章數的嗎XD

星期五, 4月 04, 2008

返家

隔了一個月才回家,下次回家不知道什麼時候。

---
睡了五個小時XD

星期四, 4月 03, 2008

忙碌

好像更忙了,不過也無妨,尚未火力全開

---
事實上也很難火力全開XD

星期二, 4月 01, 2008

April Fool's Day

我竟然會感到害怕,平常壞事做太多嗎XD

---
到現在才知道這是愚人節的英文名字XD

星期日, 3月 30, 2008

最近

催生文件告一段落之後,接下來便是開始構築整個程式架構的時候了,不過今天不想動工,於是便有偷懶的一天。其實也稱不上偷懶,只能說是可以開心做著自己的事。

喜歡的書Advanced Programming in the UNIX Environment 2/e 終於到了自己手上,雖然ycma說,每個系統上面的system library有點不同,還是用man查詢相關資訊會比較好,我不反對,不過就對於一個初學者的自己而言,我想還是有必要把書想翻的翻一翻,對於整個system library有個概觀是比較好一點的,雖然書也厚了一點就是(笑)。

最近也必需得習慣Visual Studio .net 2005,我想還是會有這一天的到來,上課會用到,專題也會用到,我總是死命的在拖,不要用到這一套軟體,不過還是有一天會用到就是了,遇到了就好好學,然後學完了再跳回bsd的懷抱XD

念書的習慣慢慢的在開始,會有進展的。

---
超高速齒輪

初賽文件

建立起一個很好的團隊,初賽文件完工了,讓大家都很滿意的文件:)。

---
也同時也看的出來自己的弱點XD。

星期五, 3月 28, 2008

小技巧

在Word中要插入背景浮水印是一件具有技巧的是,預設的方法為
格式 -> 背景 -> 列印浮水印
這方法不錯,可以快速插入,但是可以調的東西不多,我想到的方法是
檢視 -> 頁首/ 頁尾
插入圖片 -> 設定圖片格式 -> 配置 -> 文字在後

此方法相當靈活,圖片也隨你擺放,算是蠻不錯的一個方法。

---
不知道拿LaTeX做會怎麼樣...Orz

星期四, 3月 27, 2008

排版

終於排出一個自己滿意的基本版面,接下來就交給eating了,我不是專業:)

---
還有一堆說明沒打XD

星期二, 3月 25, 2008

Text Editor

前天去拜訪朋友,結果我把MacBook的變壓器忘記在朋友家,導致我現在只能乖乖的活在Windows的世界中,感到非常不習慣,結果我還是比較習慣ubuntu XD

這幾天也由於初稿完工,可以稍微喘息一下XD 也由於這段日子以來,活在unix-like底下的時間遠超過Windows的時間,text editor著實用了不少,或許,對我這種人而言,一個好的text editor遠比一個能動的word更重要,因為我絕大部分時間寫的東西都是純文字檔XD

Windows下本來的首選是ConTEXT,經由學長的推薦PSPad會更好,文字編輯器大都是大同小異,但是把PSPad稍微調整一下,可以取代大部分的Dev C++的功能,我覺得Dev C++最重要的功能就是單檔編譯,這對寫小程式非常方便,當然不用說,他可以拿來寫其他程式了,最重要的是,支援ftp server存取寫入檔案,雖然沒有支援sftp是一件蠻遺憾的事,不過對於現在的我而言似乎還好。

Mac OSX 下的文字編輯器倒是沒有那麼強的,倒是有人寫過討論text.editor.addicts.txt,不過小而美的文字編輯器倒是不少,我目前所使用的是Smultron ,雖然我不怎麼喜歡這個程式的圖案,不過我真的得說,還不錯用啦(或許我本來需求就少了XD)

Linux下的文字編輯器,我得我說不常用,學長的建議是wine + PSPad,剛剛試過,效果不錯,不過軟體的語言選English會比較好,選ChineseBig5,會有破字的問題,不過也無妨,用久了應該會很習慣,不然一般狀況下我就用預訂的text editor就好了,GNOME有gedit,KDE底下有Kate,畢竟到linux底下,command line我還蠻習慣的XD。

不過command line下的文字編輯器,我還是偏好vim,雖然很多人都會罵說這套軟體不好用,而它也的確不好用XD,不過我覺得至少比vi好很多XD,學長的建議是使用joe,為什麼我要用vim,只是習慣了,而且真的蠻多地方都會有的,用過PE2,我真的覺得vim還不錯用,不過還沒學的人,可以考慮試試看joe,應該不錯用吧XD?

不過還是很斤斤計較Text Editor的人,可以考慮看一下這個Wikipedia: Comparison of text editors 應該會有一些有趣的想法產生吧。

不過Text Editor是個工具,重點是我們利用他創造了什麼,雖然挑一個好工具也是蠻重要的一件事~XD

---
這篇寫起來好像軟體介紹XD

星期五, 3月 21, 2008

初稿

v2完成了...

算是可以小小休息一下。

---
接下來只剩細節的修改了。

約約相欠

稿債何時了...Orz

星期三, 3月 19, 2008

生病

我的胃實在是不怎麼好,至少在吃學校自助餐這件事上是如此(笑)。

晚上十一點多莫名胃痛,直至睡著,睡醒之後發現全身無力,也不怎麼樣,會想起一些事,我朋友都笑罵我說,明明知道自己不能吃學校自助餐,還吃,這樣能怪誰。

是不能怪誰,但是很感謝朋友的關心,fire7617和gb014388甚至出去買飯煮,好感動捏...T__T

相信我一定很快就會沒有事的,不然我快要稿債纏身了,我不要有寫不完的稿啊...Orz

---
呵,efang也不要太擔心喔。

星期二, 3月 18, 2008

俗語

硬碟容量決定宅的力量XD

---
320 + 160 +160 + 120 + 120 + 2 + 1 + 0.5 XD

星期一, 3月 17, 2008

簡單講解

作者 yen3 (yen3) 站內 CGUCSIE99
標題 [分享] 程設會- Introduction to UVa Online-Judge
時間 2008/03/17 Mon 23:31:53

【名稱】 Introduction to UVa Online-Judge

【時間】 2008/03/20 6:00~8:00 PM

【地點】 資工系系上會議室

【說明】 yen3

【對象】 除程設會成員外,歡迎大家參加

【說明】 事實上這是程設會第一次公開講演,希望能夠帶一連串的講解,
讓大家更了解有關Computer Science的種種。

如果有下完課後不知道該拿什麼程式來自我練習,還是說對自己
程式設計能力想要多加磨練的人,不妨來聽聽這堂課,UVa Onl-
ing Judge是一個線上評量程式系統,可以將自己撰寫的程式碼
上傳上去測試自己是否能對,希望能藉由這次介紹,讓大家多多
利用交流。

---
真想在下面補註,其實我講的很搞笑,現場還有放送XD

星期六, 3月 15, 2008

簡報

看起來很簡單,做起來很麻煩...orz

整合

比想像中的還要困難,毫無頭緒...Orz

----
以後會更恐怖...Orz

星期五, 3月 14, 2008

無狀態

聽來聽去,我還是非常的喜歡這首歌,故重po


無狀態 張懸 詞曲:張懸

  我喜歡永恆的短暫
  化主動為被動的昏暗
  所有公允的景觀之中 我都不存在

  我喜歡邂逅的對白 抹有某部電影的光采
  你要我給的,應該也如此的
  是這答案

  不要把美好的故事留下來
  不去制約 被制約 沒有習慣
  我喜歡獨白勝過眾人的綵排

  不要讓眼淚成為生活的客串
  不去制約 被制約 等待遺憾
  我酷嗜孤獨的愛

  我酷嗜倔強的愛

---
不去制約 被制約 沒有習慣

醒來

睡不著,於是醒著

---
嗯,沒事


06:05AM 這種時間才能發現打呼聲此起彼落,蠻有趣的XD

星期四, 3月 13, 2008

寫文件哲學

我現在的寫文件軟體哲學就是,如果只是單純撰寫,搞個純文字軟體就好,負擔輕,能不要開Word就不要開XD

Word是一個有點缺陷的排版軟體,但是排中文還算方便就是了,而XeLaTeX的話,時間沒有上限則是完美之選。

---
不過與人合作時選前者比較好XD

工程師性格

今天eating與我說,我過度強調"工程師性格"這幾個字,不甚好,也對,現在開始改進。

---
不過倒是很多我覺得很多很像工程師的老師XD

星期三, 3月 12, 2008

MacPorts

搞了很久的OpenSource軟體才知道MacPorts這個軟體很重要。

顧名思義,用相同FreeBSD思維的方式,提供給Mac OSX 下可以快速且順利安裝OpenSource的方式,而DarwinPort是早期的名字。目前出到1.6 (Leopard, Universe),而官方網站提供了約4500個軟體套件的相關說明。安裝方式很簡單,只需要找到package name,在command line(終端機)下輸入(這邊以安裝boost為例)sudo port intall boost,如果想要知道MacPorts有沒有更新,就輸入sudo port -d selfupdate

若想要更新已安裝的軟體則 sudo port -d selfupdate
sudo port upgrade installed
就可以把安裝的更新了。



結果我搞了很久的apache, mysql, php5 瞬間被解決,gocr也有解,算的上是相當方便XD。

---
在還沒有找到之前我都乖乖的重新編譯後安裝XD

星期二, 3月 11, 2008

準備

應Josh Ko之邀(還是說我死賴皮XD),回彰中展開一次教學,時間為三個小時,題目讓我自己選,相當的有彈性,本來在Generic Programming和Unix Programming中游移,最終決定為前者,由於是給高中生的教學,所以應該不太會太難,目前Slide準備大綱如下。

  • Function Overloading - 簡單的開始
  • Abstract Data Type - 正式的開始
  • Function Template - 來一點有趣的
  • Class Template - 痛苦的開始
  • C++ Standard Template Library - 藝術品般的傑作
  • Generic Programming - OOP對稱之紅花綠葉


暫時想到這樣子的大綱,隨時可以再變動,不過這簡報大概要準備一個月吧,最近非常忙...Orz

---
還算是愉快的準備XD

早起

今天七點就起床了,早早就來了實驗室,頗有睡的越準時就睡的越少的趨勢。

---
或許這才是最省時間XD

星期一, 3月 10, 2008

自清

呃,看到Jserv留言,最近花了一點時間在看他的blog,相較之下,我頗有浪費生命的感覺,哈哈

我不是一個頂認真的人,頂多只是偶爾閒閒沒事看看書,事實上要正視自己能力不強這件事,讀了一點書,程式卻寫沒有半滴,作業系統課程又放掉,剛好對FreeBSD有興趣,而Jserv又開了一堂課,我從從這裡開始,一步步的研究FreeBSD。

事實上我自己很清楚,我沒寫過什麼很大的程式。

因為這樣,所以我才會努力的準備比賽,單一程式語言寫的太久總是會有一個問題,如何整合多個元件,這就是我這次比賽中要學到的,不要每一次造輪子是真的,但是要怎麼把既有的輪子裝好,也是一個需要學習的課題。

所以,持續前進,如果我真的看完這些書,也應該可以寫出相對應的文章才是,事實上我並沒有,呵,所以某部分的呈現事實是,我必需再努力。

彰中電研社(CHCRC),是我生涯中唯一加入過的社團(到大學一個也無XD),經過一番波折,擔任了第四屆社長兼硬體組教學長,而Josh和pigtail分別擔任了程設組教學長,分別在台大資工和師大資工,而bluegmn擔任了網頁組教學長,現在在淡大資管。到現在都有在聯絡(得感謝網路的進步)。從這從我學到了很多,這對我而言是一個很長的回憶。有空再提吧

---
為什麼會提到CHCRC,想到我就提了一下,沒有什麼想法。


pigtail昨日跟我提及說,自己愧對程設教學長的職位,他還記得自己是公關長,但是我不這麼認為,能力不是唯一決定的因素,認真做的也是很重要的,況且,他的能力也是真的不錯的(笑)

星期日, 3月 09, 2008

錯誤

自己總是過於衝動嗎...Orz

---
每次都是事後...真不喜歡這樣子的自己。

有感

看著efang玩ubuntu linux,我決定,我還是玩....FreeBSD好了,我不要沒事每天都要搞Kernel和library不一樣時的痛苦,而且Mac OSX也是BSD Kernel,一個名叫Darwin的Kernel,查了資料才發現原來Apple有釋出source code。不過FreeBSD的相對中文資料也是比較少,沒關係,看英文也不錯,最近感覺到自己的英文退步到一個鳥程度XD。

多多吸收新東西總是好的。

---
雖然這很花時間XD

逛逛

今天早起逛到這個,看到

Orz,我節錄一下我和朋友的對話XD

blueforest /* Dear efang, Happy Birthday */: 我一直在想,這一篇會不會不像是我寫的blog
[Eighteen] ↗(放空)↙: 不然你可以把efang這個字改成Computer Science
[Eighteen] ↗(放空)↙: 這樣就符合你的風格了
blueforest /* Dear efang, Happy Birthday */: XD
blueforest /* Dear efang, Happy Birthday */: 我的風格這麼糟啊XD
[Eighteen] ↗(放空)↙: 是啊XD

比起向上快變成reserch blog,我的blog會變的怎麼樣呢?

---
不怎麼技術的技術blog ?XD

星期六, 3月 08, 2008

極限

在昨天早上確定題目之後,傍晚返家,得知efang玩ubuntu玩的很高興,事實上我還蠻關心她玩的怎麼樣的,因為在還沒受到MS的深刻影響時,多多玩OpenSource的東西總是好的,而且可以做一些觀察。

看到Josh從英國寄回來的明信片,看到時大為感動,不過我得為自己辯解一下,我可是什麼都沒有做,哈,anyway,還是很感謝(笑)。

回來之後感到極度疲累,八點一睡到現在,家族有事得忙碌,習慣了就好,回學校的時候,得要開始寫文件了,三個禮拜的題目折磨期終於結束了,希望接下來會更好,因為想題目真的很難訂時程表,接下來的時間進度真的比較好訂了。

回家找到兩本FreeBSD的書,我想我會帶著北上,這是我下一個想要深刻了解的作業系統。

---
有正課要上,我不會忘記XD

星期四, 3月 06, 2008

演講:快快樂樂學 GNU Debugger (gdb) Part I + II [台北]

難得我會用那麼長的標題(笑)

anyway,這是我從主講者Jserv處所看到的資訊報名處 節錄資訊如下


活動說明:
有鑑於一月份於SA@Tainan舉辦的「快快樂樂學 GNU Debugger」造成的狂響,
以及北部學員的聲聲呼喚,感謝Jserv講師的撥冗及豐富的教材,
將於三月下旬帶給大家一整天的精華分享,機會不再,別錯過囉。

簡介:延續一月份舉辦的「快快樂樂學 GNU Debugger」,
將之前對 Debugging (偵錯分析)所建立的概念與初體驗作更進一步的擴展,
以「作中學」途徑探討實務與概念應用。
使用情境與案例分析。

議程主題:
. 實用 GDB 指令
. macro 與技巧
. 當 GDB 遇上 C/C++:具體的範例
. (選擇性) Eclipse CDT 整合

時間:
2008年03月 22 日 (星期六)
   Part I 回顧 => 10:30-12:00,
Part II => 14:00-17:00

地點:台灣科技大學-國際大樓(IB) 401 教室
   基隆路大門進來右手邊第一棟大樓
   台北市基隆路4段43號.

費用: 0 -

地理位置/交通路線:
http://www3.ntust.edu.tw/front/bin/ptlist.phtml?Category=16
http://140.118.31.155/campus_guide/welcome.aspx

活動報名網址:http://registrano.com/events/sataipei200803


參考資訊:
. GDB: The GNU Project Debugger
http://sources.redhat.com/gdb/
. 快快樂樂學 GNU Debugger (gdb) Part I 資料:
http://blog.linux.org.tw/~jserv/archives/001958.html

講師簡介:Jim Huang (黃敬群 / "jserv"),熱血工讀生,
閒暇時投入新酷音計畫、Free Java、GNU GCC、X Window System,以及相關自由軟體的開發工作。
website: http://jserv.sayya.org/
blog: http://blog.linux.org.tw/jserv/

講師特別交代之注意事項:
1. 本議程基於知識共享之原則,提供免費教育訓練,但僅限於 x86 硬體平台,
若有 ARM 與 MIPS 平台需求者,請進一步聯繫講者
2. 本議程在台北與台南各有一場
3. 事先提交問題,可優先解決與討論
4. 歡迎招待當地名產,或廣結善緣


---
難得我會全文轉貼XD

星期三, 3月 05, 2008

上課

在題目有個初步想法之後,早上醒來頗冷,不過有個空閒可以記錄一下自己的想法也是不錯,或許暫時沒有辦法發什麼技術文了,最近做的事都不怎麼技術(笑)。

這學期修的課都偏苦幹實幹型,也就是說,班上會較少修這種課,其中最讓我感興趣的是Unix Programing,馬詠程(ycma)老師是第一次上課,上課頗有交大的風格,不過我很習慣,cllee也是交大畢業的XD,還有另外一堂是Web Service Programming,授課老師為SmallPig,這兩堂課都以寫程式為主,還有Introduction to Embedded System,授課老師為wyshieh,都是偏實作類的課程,這些課程或許也是少數讓我有機會逃離MS的機會,其實MS做的並不差,這我了解,但是還是會很想在unix-like之類開發程式,不過自己有種體悟,電腦會存在,但是上網的唯一媒介不再是電腦了,但是也有一個問題,端看自己肯網路控制到什麼程度了。

在sidebar新增兩項,分別為Google Redaer和Twitter,Google Reader連結為我的RSS訂閱分享,簡單而言,我在閱讀他人blog文章時,可按分享,就會自動匯集至此處,但是可以設定的事物極少(接近不能設定),所以暫時為測試用途,Twitter的話為一種心情亂寫吧,或許雜記也說不定,不過還是會保持在No title上的一行文風格,我很喜歡這樣子的書寫方式,每篇文章都很長對於我自己是不小的負擔,偶爾我也想要有偷懶的機會XD。

事實上一直很想轉換自己的寫作為搞笑風格,無奈不怎麼成功,甚至有耍冷風格,也想在文章中加入點髒話之類的,可是只要一聽音樂,一到寫作的心情,整個人就只能寫出這樣子的東西,想想也是蠻有趣的,不過很肯定,沒有技術,我還是會快樂的寫作下去,刷姊跟我說過,寫作的人不太需要社會性的分數。非技術文一發多,事實上也不是那麼care這一堆有的沒有的事了。

---
黑眼圈, 陳綺貞

星期二, 3月 04, 2008

躺在你的衣櫃

長期習慣聽著音樂生活,有時候蠻不習慣讓別人知道我在聽什麼音樂,因為這或多或少會洩漏出我現在的情緒。前幾天efang推薦了 躺在你的衣櫃, 陳綺貞, 吉他手

efang的描述是,這首歌的音樂沒有侵略性,在做事情的時候並不會被音樂吸走,可以很享受這個音樂,我聽了三次才有這個感覺,不過我也不準,我連聽Linkin Park都可以專心做事XD 所以應該不怎麼準吧,不過可以聽聽看。

躺在你的衣櫃(Guitar)
詞/曲:陳綺貞

前奏:DA LA LA DA LA LA DA LA LA DA LA

你的毛衣跟著我回家了 我把它擺在我的房間
它曾經陪你走過幾條街 它曾經陪你喝了好幾杯
冰的咖啡 陪你遠走高飛
拍照留念 也曾經靜靜的躺在你的衣櫃

你的毛衣跟著我回家了 我把它擺在我的房間
它這樣覆蓋了我的冬天 它就要刺痛了我最敏銳
愛的幻覺 陪你遠走高飛
拍照留念 天熱了靜靜的躺在你的衣櫃

我的冬天 就要來了 我的冬天 就要來了

你的身體跟著我回家了 我把它擺在我的房間
它曾經被你展示借給誰 它現在靜靜的躺在我的衣櫃
天熱了靜靜的躺在我的衣櫃

我的冬天 就要來了 我的冬天 我的冬天

----
躺著睡覺不錯啊XD

delete

今日meeting時,我跟cllee提及如下對話

efang: 你最近都在做什麼呢?
yen3: 想題目讓老師刪除

聽完之後。

cllee: 不要把我說的都給你挫折,很罪過XD
Clara: 中肯XD

---
這真不知道是中肯誰XD

Begin

終於開始了

cllee說過 It all starts here.

----
Linkin Park - In the end.

星期日, 3月 02, 2008

撞牆

Josh曾經與我聊過,一個理論不通的話,就像一道牆,多撞幾下就通了,雖然會痛總是有個好結果,現在的我是

連牆在那裡都不知道...

---
有牆可以撞真好...Orz

星期六, 3月 01, 2008

頭痛

腦袋有空掉的感覺

---
可是還要想東西...Orz

星期五, 2月 29, 2008

偷懶

好久沒有寫blog了,原因,想偷懶XD 不過昨天都破功了,所以今天索性上來寫寫吧。

首先,我用起了Google Reader + igoogle 工具,我現在可以非常快速的使用RSS特性來閱讀文章,當然,會失去一些版面之美,也無妨,遇到喜歡的網頁再衝進去就好了。RSS Reader我知道非常久了,但是懶的去用。最重要的原因,我覺得不怎麼好用XD 真不知道自己的堅持是那裡來的XD 改用之後,上網閒逛的時間少了非常非常多,不過有時候還是會流連別人的blog一整夜。

我習慣,也喜歡看一個人的寫作軌跡。

再來,我最近發現,我使用MSN+Skype的時間減少了非常多,可能大部分是我找人聊天比較多,而現在我沒什麼時間找別人聊天(笑),或者是大家都年事漸長,沒空理我XD 有空我再我用即時通訊聊天的經驗寫寫好了XD。

再來,最近對於內鎖效應感觸非常深,Josh Ko介紹給我的,但是英文名詞我已經忘了,嘗試在wiki上打lock-in effect,結果沒找到XD。內鎖效應泛指人害怕面對新的事物而寧願保持現況,如果肯突破會有非常大的改變與進步。我剛剛提的RSS Reader就是一個範,而從注音轉換到嘸蝦米也是一個很經典的例子。但是也不能說,肯突破現狀的改變就是好的,因為一旦突破,重新學習的成本是否會帶來長久的效益呢,這不一定那麼好評估。

以寫blog這件事而言,我嘗試換版面,因為現在的版面真的非常簡單,於是我花了一個晚上試了三欄式版面,發現不甚滿意又改回來了。我還是比較喜歡簡單而讓閱讀的人沒有壓力的風格,一個版面塞了太多東西只會失焦而己。但是我不後悔這個晚上的嘗試。

有勇氣改變現況做更好的事也是不錯的。

保持不斷的學習,這件事似乎變的很重要,還是蠻感謝Josh,他說的內鎖效應,讓我有勇氣面對許多我本來不想改變的事物。還年輕的時候,多多改變總是好的。

---
平靜的生活。

星期四, 2月 28, 2008

發現


原來Google Picasa有這樣子的功能啊

原圖XD

---
還是email通知XD

星期二, 2月 26, 2008

要看的文件會不會太多了...Orz

---
算了,繼續看XD

星期五, 2月 22, 2008

有感

昨日經由Clara介紹,聽了王若琳的音樂,雖然平淡無奇,但是蠻有慵懶的感覺,聽起來還不錯。

但是這會讓我想到,由於我對整個社會的不了解,所以至多只能做一些猜測,這些音樂的出現,是從陳綺貞、張懸開始的。當然,查到的資料是說王若琳的父親是王治平,但是我實在是不知道他是誰。不過還是得說,打造一個非主流歌手的成本非常低,不過我本身非常樂見這樣子的狀況發生,畢竟台灣流行歌手我早已不抱希望(笑),常常看見說某個藝人花了多少錢打造了一首MV,花了多少錢在宣傳預算上,但是很少看到花了多少精神在把一首歌做好。

唱片的本質就是唱片,而不是附加於其上的價值。

從張懸、陳綺貞、蘇打綠到魏如瑄(前自然捲主唱)甚至到現在的王若琳,際遇各有不同,不過我得說,張懸和陳綺貞,要塑造成這樣子歌手的隱形成本是非常高的,張懸唱了Live House五年,陳綺貞在師大夜市賣過自己的唱片,各有自己對音樂的堅持。這些才是一般歌手不會付出的成本。張懸唱了Live House五年,勢必能為自己塑造一個市場區隔,當然,她自己本人有沒有想過,我不知道(不過我覺得照張懸的個性,沒有XDXD),當然得說,唱歌的人何其多,歌唱的再好也需要際遇,我想,這就不是我所能了解的。

---
身為一個聽眾能做的事就是好好聽歌(笑)。

星期四, 2月 21, 2008

解釋

昨天在逛學弟blog寫筆記時,一方面還蠻高興的,有認真看書,但是一方面也看到讓人覺得奇怪的錯誤XD
vector<int>::iterator mid = (ivec.begin()+ ivec.size())/ 2 ; // error!

簡單一點來說,學弟並不是很了解指標運算是什麼XD,算了。先來說明正式一點的原因,第一個最重要的原因就是,iterator並不支援operator overloading "/",在此算式中,由於使用了(),使得優先權較高先執行,operator+沒有問題,但是operator/ 就會變成undefined。

iterator支援operator+ 嗎? iterator共有5種concepts,分別是input iterator, output iterator, forward iterator, bidirectional iterator, random access iterator。應該要花時間把這幾種了解,而利用type traits實作advanced,是一個值得探討的問題。

就算回到C語言的指標運算,上述的算式也不是對的XD,我們稍微轉化一下成一般的狀況(使用陣列)。


const int N=10;
int u[N];
int* mid = (u+N)/2;

上述的程式碼編譯是一定會過的一定不會過的,但是通常得到的不是你想要的答案,想想為什麼呢?

為什麼不會過,看一下compiler給的message
invalid operands of types `int*' and `int' to binary `operator/'

指標運算支援前進或後退,但是不支援其他運算,顯然現在的type checking遠比以前好多了,我寫這類東西時,還是多多思考比較好。

---
寫解答的人一定很偉大...Orz

星期三, 2月 20, 2008

母親

很多事的想法,社會上的人物是比不上我的母親的。

雖然我的母親位於傳統觀念中成長,但是生活有什麼疑問,我傾向詢問我的母親。因為她擁有著比大多數人還要來的好的智慧與習慣面對問題。長期安靜生活告訴我一個生活原則。

少欲知足。

現在的社會,很容易陷入一種資訊焦慮,總擔心自己看到的聽到的不夠多,事實上,我們也不需要這麼多的資訊才活的下來,在材與不材之間,扮演好自己的角色,當然無需妄自菲薄,生活其實很簡單。不過在母親身上,我幾乎看不到些事,安靜的過生活,就是一種喜悅。

---
思考與生活。

星期二, 2月 19, 2008

好玩的Google Trends

前幾天在朱學恆的路西法地獄中看到了有關Google Trends的文章。所謂的Google Trends就是提供一個模糊的相對搜尋趨勢。

來截一些有趣的圖XD

Pic01 (馬英九 vs. 謝長廷),在路西法地獄有啦,我只是稍微更新一下XD


Pic02 (馬英九 vs. 謝長廷 vs. 陳冠希),只要是鄉民都會知道的威力XD


Pic03 (電機 vs. 資工),讓人傷心的一張圖XD


Pic04 (電機 vs. 資工 vs. 123),123大勝XD


Pic05 (幹 vs. 靠 vs. 操 vs. 硍),髒話使用率XD


---
博君一笑XD