星期五, 3月 30, 2007

星期三, 3月 28, 2007

星期二, 3月 27, 2007

星期一, 3月 26, 2007

幸運女神之小不隆東便利多多

每天都寫今天寫了什麼程式(如:今天完成了系學會的登入頁面orz)或是讀了什麼功課(如:看了15頁的影像診斷學課本orz)太無趣了,來說說一部我喜歡的動畫。

這部「小不隆東便利多多」可以說是「幸運女神」的分支。幸運女神的主要劇情是敘述某平凡大學生因緣際會和天界女神:Belldandy相識並且相愛的溫馨卡通。但這部「小不隆東便利多多」和幸運女神主要的劇情基本上完全無涉,男主角Keiichi沒有出場,取而代之的是一隻常常被女神們惡整卻又心腸好的老鼠:阿岩。整個小不隆東的劇情主要是搞笑,前後集沒有連貫。



左邊是老鼠阿岩,右邊是年紀最大最我行我素的女神Urd。



左邊微笑的是二女,極度有禮的女神Belldandy,右邊是常常發明出廢物以及危險物的么女Skuld。Belldandy在小不隆東的戲份並不重,台詞常常只是「晚餐煮好了喔,請大家來吃吧」,或是製造意外的效果,比如阿岩和另外一隻老鼠競選老鼠總統,當選人卻是Belldandy之類的。



老鼠阿岩和Urd。 全文連結

養眼的好東西

別誤會喔,我說的是Beryl





看了這個以後,Windows Vista的特效根本就是小孩子玩具,為甚麼這種好東西Windows下沒有啊齁齁齁齁>"<

現在的Linux其實已經越來越友善了,只是我媽媽的股票下單要ActiveX,我妹妹的黑色陰謀不知道Wine下能不能跑,我的音樂需要游飄驅動 + ASIO,而Linux大概不能灌游飄,所以還是用Windows吧XD 全文連結

星期六, 3月 24, 2007

寫程式

今天又是寫程式。主要任務是系學會服務的移轉和改進。所謂移轉,是把原有的服務從壞掉的舊主機移動到新主機。所謂改進,目前目標有把PHP和HTML分離,結構改進成適用全校等。

目前做完了註冊的一小部份。因為當初寫通訊錄的時候架構用的還算活,所以新的系學會服務搞不好可以直接和通訊錄整合(先見之明?XD)。至於跟Joomla的整合,想想還是算了,反正兩個用戶資料表根本就不相通(系學會用的用戶名稱就是學號,Joomla的卻是自由命名。兩者權限也互不重疊),還是回去使用我的快樂物件庫 + Smarty。即便未來需要整合,Joomla可以用patTemplate,應該也就可以用smarty,我想。

讀書方面看了幾頁的影像診斷課本,卻完全提不起勁來啊。

明天要去補習。 全文連結

星期五, 3月 23, 2007

閱讀Joomla

Joomla似乎處在青黃不接的時期,原有的1.0系列API根本就是一團混亂,嚴格使用物件導向,看起來漂亮多多的1.5API卻又不被1.0支援。如果用1.5 API開發,那根本不能在1.0上面跑。如果使用1.0開發,雖然1.5有所謂Legacy mode,可是總有一天1.0的函數和Class會全部被丟掉(沒錯,1.5很阿撒力的把物件樹全部重寫了...),而且1.0 API根本就是一團漿糊,開發看起來艱辛無比。Legacy mode能不能完全相容又是另外一回事。

1.0 API中那些大混亂的產物看起來像是退化性歷史遺跡,也就是Joomla從Mambo分支過來時順便帶過來的東西,帶過來的東西加上自己的架構就變成驚天動地亂七八糟1.0API。1.0API裡很多函式、物件用Google一搜就會出現和Mambo有關的結果。「違章建築」、「陳年古董」這幾個字,Joomla 1.0 API絕對可以當之無愧,和1.5 API完全不能比orz

剛剛去看系學會的網站,似乎已經有所更動,在想要不要趁還沒太大改變以前趕快偷偷安裝新版。可是1.5版開發又沒有全部完成,和佔大多數的1.0套件是不是相容?好難想啊orz 全文連結

星期四, 3月 22, 2007

Joomla

因為架設系學會網站的要求去裝了Joomla。感覺上這是一套非常厲害的系統。

因為還沒有正式閱讀Joomla的說明文件,所以很多特性還不是很清楚。但可以確定的是Joomla的架構非常具有延展性,有算是豐富的延伸套件開發文件,所以有需要的人可以自行開發。目前Joomla已經有一大堆套件,免費的收費的都有。功能上有討論區、日曆....一大堆。

看了Joomla很心動,搞不好除了系學會之外,以後班網也架在上面呢XD。 全文連結

星期二, 3月 20, 2007

內傷

內家拳真的很強,特別是使用者受過正統道家修行人(有高深氣功,還能與神靈交談那種)和武術大師(已知真的能用中國武術套路實戰)的訓練,本身又有氣功底子的時候。

今天發實診共筆,吾友darkjade看到上面某個圖形很像發勁示意圖,就很開心的在我左胸打了一掌。

當下覺得沒有什麼,就很開心的和其他人去影印店拿影印的東西,結果走到半路身體就不對(不是胸口痛起來,這種小事沒什麼好紀錄orz)。整個人開始感覺噁心想吐,左胸整個閉塞,頭暈。

拿了以後去附近早餐店吃飯,難得一堆人在一起我卻沒有打嘴炮。因為這時候我正在努力放鬆自己,想辦法讓彆扭的肌肉放鬆下來。整個用餐過程我發現食道在吞嚥時除了推進食物還可以在受傷時自發性不斷的顫動。痛覺開始到達全身,左邊的脖子,左右腋下都可以感到不適。半個胸口很緊。

醫資所開會的時候,因為感覺真的不舒服,跟老師講提早離開想說去找darkjade先生,結果他似乎不在,我就直接回家了。到家的時候噁心沒那麼厲害,胸悶也因為自己放鬆吐納緩解得差不多了,但跑跳時胸口感覺還是會閉住,就請他透過MSN教我簡單的推拿,問起他是不是推我的時候用了內勁之類的詭異東西,他說他根本沒用氣,是我太虛orz。於是我就自己推拿了,稍微緩解一點。

晚飯過後狀況似乎有好轉,跑跳的時候的氣息閉塞也比較不見了,精神狀況也恢復許多,只剩下身體會有種若有若無的悶感和位置很深層四處移動的悶痛感,希望明天睡覺醒來就一切OK XD。 全文連結

WDK

花了一些時間閱讀了WDK的文件。WDK全名是Windows Driver Kit。內部包含了一種新的驅動程式開發架構,針對現有WDM的開發方式進行修正,把很多不必要的細節隱藏起來,讓驅動程式開發者專心處理比較重要的事情,不必花一大堆時間研究如何和作業系統溝通,以解決WDM下隨便一個小Driver就要幾千行的情況。當然,WDK也可以拿來開發WDM driver,只是微軟建議寫新驅動程式還是使用新API比較好。

因為我沒有作業系統設計的基礎,所以讀起來有些地方有點陌生,比如Multi-processor safe、C++ & Driver Design這些問題我是從來沒處理過的。而有些地方不是陌生,是恐怖,比如Kernel mode driver的stack只有3個page,而且基本上「不鼓勵」C++,因為繼承、虛擬函數、RTTI、轉型、例外甚至浮點運算全都可能會爆。很多API都不能用,更甚者。如果Driver在記憶體paging關掉(什麼?paging會關掉orzorz)的時候存取不在記憶體裡的資料/方法(比如你的class會存取虛擬函數表vtpl,然後他剛好不在記憶體裡....),系統可能會整個癱瘓掉。

Web development和Driver development的世界剛好就是兩個極端,無限的記憶體,保證會動的API,模糊的型別檢查對照三頁的堆疊以及在黑暗的環境中除錯,不知道能不能適應成功?寫NDIS filter driver/miniport driver的事情看來頗有難度啊orz 全文連結

星期一, 3月 19, 2007

Adobe Apollo Alpha版

話說我期待已久的Apollo計畫終於出了Alpha版。

Apollo號稱可以讓開發者在和開發RIA(應該說Flash XD)差不多的難度下開發桌面用應用程式。古早以前市場上流傳著「Flash即將從瀏覽器跳出來」的傳說,這個傳說說的就是Apollo Project。

輕輕鬆鬆用UI和網路,一直是我這種UI設計師的夢想。曾經有多少大好的青春,被浪費在呼叫UI component的建構子上?明明用視覺操作就可以搞定的東西,為甚麼要死死寫進函數呼叫裡面?建構子不應該拿來決定視窗要擺哪裡,這些事應該可以寫進設定檔,然後可以由外部自由調整才對不是嗎?所謂的網路,應該要有簡單的HTTP API、XML API這些好用的wrapper讓設計師可以呼叫,明明遠端伺服器就只是個隨處可見的Apache + PHP,但客戶端這邊卻要Ground up寫TCP/IP進行呼叫,耗費一堆時間重新發明輪子.....

(按:其實以上情況可能已經改觀很多,當年我用C++寫UI的時候連.net都還沒像現在如此普及啊XD)

我想Apollo的出現有機會成為.Net和Java以外的第三勢力。畢竟Adobe是非常大的公司,而且UI和Network一直是Flash的強項(至少Ease of use這點是這樣...),特別是美觀這一點,Java Swing設計出來的東西和Flash出來的東西一直有天與地的差別感。偉大的太陽神值得程式設計師的期待XD

CNET 新聞
Apollo示範:桌上型EBay 全文連結

Driver!

當我已習慣被共筆佔據,有時空閒會反而不知道要做什麼,這時心中就會有熱血想要從事一些比較讚的計畫。

目前有幾個可能的關注方向吧,方向一就是我繼續讀我的C++書,沿著The C++ Language,Inside C++ Object Model,C++歷史演變、Modern Design Using C++、Advanced C++、Design Pattern...這些書一直讀下去,久了程設會變強吧orz。也可以去研究數學,然後讀Algorithm的書,這條路花超久,但代價就是演算法比賽會強點XD。方向二就是去參加一些Opensource Project,比如比較有地緣關係的OpenPCMan開發,不過我對逼沒那麼有興趣,方向三就是自己寫一些喜歡的東西,而我對NetLimiter非常心動啊,要是可以開發出跟他一樣的miniport driver該多好>//////<,方案四就是掛逼、打MSN和看動漫虛度光陰,這個最有可能XD

附上一些連結:
Windows Driver Foundation簡介
Windows Driver Foundation Facts 全文連結

家聚

昨天去師大夜市附近某家德國餐廳吃家聚。基於我對德國豬腳長久的嚮往,本來想要點豬腳的,但是新台幣五百元的售價還是阻止了我XD,我就點了一客香腸套餐。

主菜有三條香腸,原味德國香腸、起司德國香腸、鹹味義大利香腸。都充分展現出德國香腸脆脆有嚼勁的口感,搭配盤子旁邊的德國馬鈴薯、酸菜等滋味著實不錯XD。至於五百元等級的豬腳主菜,烤了好幾個小時的現做豬皮還有彷彿會放出熱線的豬腳肉看起來也是超級好吃,我是因為價錢因素沒點。

隨著主菜出現的雜糧麵包、果汁、湯也都有該有的水準,總之就是可圈可點XD

大家聊了許多關於課業、醫院、就業的問題。首先我赫然發現我九三級的學弟是班上前十的強者,和我這位以六十幾分過關的大體組頭截然不同XD。再來,內科R1(=剛畢業生)真的有九萬元的薪水,看來我放棄心愛的電腦走向醫學並不是完全錯誤XD。其次,我似乎身上有強烈的工程師氣息,除了班上同學外學長也這麼說。還有,據說每科都可能被告,就算是一輩子不必和病人接觸的病理科醫師也是XD 全文連結

星期六, 3月 17, 2007

星期三, 3月 14, 2007

好物!

開放原始碼Windows防火牆
Windows系統封包過濾之技巧

*nix系列的作業系統一向有很多開放原始碼的防火牆,相關的documentation也很清楚,但在Windows的世界,防火牆似乎是大型商業公司的專利,免費的產品有是有,但大多都是付費產品的試用型馬前卒。唯一有開放原始碼的費爾防火牆也是販賣原始碼,而不是有如GPL班開放給大眾閱覽。而大概數個月或是一年之前,我Google有關如何寫防火牆的資訊,也只得到一些草草的介紹。不料隔了一段時間以後,資源變得這麼豐富啊。 全文連結

星期二, 3月 13, 2007

生活

昨天花了不少時間把共筆勘誤新增查詢功能寫入班網。希望從此以後就不會有考前翻逼翻到死的窘境。除此之外好像也沒做什麼別的事情。

大四下,雖然最後確定暑假沒有國考,可是當初排課的時候因為當作同學要準備國考,所以排出來的課表幾乎可以「週休四日」來形容,讓我有時間稍微沈澱一下心靈。

雖然程式設計師本身就有種悲哀的浪漫:為了眾人幸福的微笑,必須自我犧牲把自己封印在電腦前面。不過這一段時間以來電腦的比重似乎太大了,由部落格的文章就可以看出這點,剛剛還有種錯覺,好像我的部落格變成了SVN changelog。其他種類文章幾乎都空白了,就連醫科大學生活相關文都沒有,完全嗅不出我是醫科大學生的味道orz

電腦固然非常好玩,也是我的主要配點所在,但是程式寫久還是會有點累。所謂一陰一陽才是自然,起一定搭配著落,盛一定搭配著衰,緊一定搭配著鬆。人也是自然的產物,不可能長時間維持燃燒專注於某物的狀態(我所說的人類不包含罩哥XD),一定是緊張放鬆交替進行,各種不一樣的活動交叉運用才能夠生生不息。長時間為了班級為了學校不斷的寫程式,切片網、班網還有接下來的系學會網。結果當想要暫時休息的時候赫然發現電腦以外的東西都被我忘掉了XD

我該做點什麼探險呢??XD 全文連結

星期日, 3月 11, 2007

MySQL語系

MySQL語系教學

雖然說Ubuntu超級容易的安裝深深打動了我,但使用起來,可能是因為我習慣Windows的關係,所以大錯沒有,小錯不斷。

一開始是昨天開心的裝完Smarty卻發現Smarty什麼都讀不出來,測試老半天路徑明明就沒有錯誤。Google,翻wiki弄了一大堆,還想說是不是PHP壞掉可是phpMyAdmin卻又能跑。最後是靠chmod -R 777 ./public_html解決了問題。*nix的檔案權限管理如此嚴格(或是說Windows太鬆?)讓我吃了不少苦頭,不過其實這樣也比較正確啦XD

接下來就是No-IP dynamic DNS不會自動執行,我花了很多時間和init.d以及update-rc.d奮鬥,當然期間又是一大堆chmod 777(黑啦,我知道這樣不好,可是實在是沒體力了orz)最後還是弄不出來。最後是在/etc/rc.local加了一行noip2才解決了DNS的問題。看來在*nix下面做事還是得乖乖按照「確定會成功的經驗」做事比較好,免得遇到鬼XD

接下來換MySQL出問題了。學校的Windows 2003和我的Ubuntu裡,MySQL我設定的都是UTF-8,之前set name big5用起來也沒什麼問題,到Ubuntu下卻出現一大堆亂碼,現在我準備看MySQL關於多語系支援的文件解決他XD

Linux真是個有趣的東西啊XD 全文連結

星期六, 3月 10, 2007

班網

最近這幾天在處理班網的事情。首先是學校老師同意放切片的伺服器也可以放系學會的服務,而班網也是系學會服務的一員,所以昨天我就把班網轉移到新的機器去了。在偉大的phpMyAdmin的幫助之下,資料庫轉移的動作瞬間完成,而程式碼的部份,因為現在班網把一些目錄和連線的細節全部寫在同一個inc檔裡面,所以把那個檔案拿來改一改,再把Subversion的程式碼全部傳到切片伺服器,班網馬上就活蹦亂跳再度運作了。

班網弄好以後我Windows 2003那個虛擬機器也消失了。一開始我的機器只有這個Guest OS,後來因為系學會主機掛掉,所以這個原本只是拿來當test server的東西就莫名其妙黃袍加身變成正式的伺服器。並不是說虛擬機器拿來當正式服務不好讓我擔憂,而是這樣我就完全沒有test server了,沒有test server就不能放手增加新功能,綁手綁腳的。所以基於需要test server以及學習新作業系統的考量,我去弄了Ubuntu Edgy Alternative CD,開另外一台虛擬機器灌LAMP,花了一段時間和apt-get打交道以後就弄好了。本來想說會一直維持兩個虛擬機器的局面,不過這台虛擬機器一弄好,班網也就剛好搬到學校去了。test server不需要兩台,我就把Windows 2003那台砍了。

接下來班網我有點想增加勘誤追蹤的功能,現在每逢考試班版又是一大堆勘誤,偏偏學校的BBS又是鳥鳥的Firebird,搜尋起來很不方便,而一大堆文夾雜在一起也很不好閱讀。所以接下來共筆寫完應該就會去寫這方面的功能吧。 全文連結

星期四, 3月 08, 2007

病理考完了!

這兩天最恐怖的事情就是病理考試,健達出奇蛋說:三種願望一次滿足,而病理學科也說:四十本共筆,一次滿足,囧。所以前天我的熬夜功力就創下新紀錄了,完全沒睡。雖然很多人說大範圍的考試熬夜並沒有意義,不過我還是多看了頗多本就是了XD

熬夜的副作用也不同凡響,隔天考完雖然還是可以開心和同學聊天,不過聽說整個人說話聲音就是沒有精神。而昨晚雖然還是撐到一點就寢,不過睡得就特別香沉啊,意識一個模糊就天亮了。

這次複習考難度一點都沒有降低,分數也佔了熊熊的25%,希望有超過六十>"< 全文連結

星期二, 3月 06, 2007

病理複習考

禮拜三要考上學期全部的病理,總計四十本共筆,目前只唸了十五本,只剩下禮拜二一天可以準備。

唸書念到整個人幾乎快炸掉,昨天還莫名其妙失眠在床上滾到五點。

這幾天比較有建樹的娛樂就是改了切片瀏覽程式的核心。原本的核心是用二維陣列,以預設的大小讀圖,因為結構的問題限制頗多,在優化的過程中整體逐漸膨大複雜化,昨天唸書休息的時候就把想到的新演算法拿來用,在唸書之餘,花了不少時間把繪圖核心全部拿掉重寫。最後成功達到優化目標,老核心的速度和新核心完全不能比!禮拜四開會看來可以安心交差。

寫切片瀏覽程式讓我深深體會到一段話:
(引自Imperfect C++)
It's better to catch a bug at design time than at coding/compile time.


It's better to catch a bug at coding/compile time than during unit testing.

It's better to catch a bug during unit testing than during debug system testing.

It's better to catch a bug during debug system than in prerelease/beta system testing.

It's better to catch a bug during prerelease/beta system testing than have your customer catch one.

It's better to have your customer catch a bug (in a reasonably sophisticated/graceful manner) than to have no customers.

抓蟲和優化都一樣,與其花時間看trace或是用小技巧優化,不如一開始就用正確的設計或是把複雜度降低。

病理學切片網站 全文連結

星期一, 3月 05, 2007

星期六, 3月 03, 2007

班網

昨天和Henry,Ragwing(以後就叫ID,不要叫電腦大王R大好了XD)一起去修系學會主機。經過一大堆折騰我們成功發動fsck,但fsck跳出錯誤訊息(UNEXPECTED SOFT UPDATE INCONSISTENCY)以後就core dump了。後來懂linux的tiamoon學弟前來,用單機模式unmount硬碟再用fsck急救,還是一樣的訊息和core dump,強行mount上去卻容量顯示錯誤。強行讀資料會顯示input/ouput error,看來這顆只用了一年多,擺著freebsd home目錄的硬碟,幾乎可以宣告陣亡了。來自偉大祖國的硬碟果然不同凡響。

機器沒了,可是現在調課已經開始出現,的確有需要班網功課表的服務,可是新的機器沒時間馬上弄好,怎麼辦?我就把主意動到家裏面當作test server的VirtualBox Windows 2003 server上面。這台虛擬機器透過虛擬bridged network和我的主要網卡連接,Host OS利用虛擬IP訪問是沒有問題的。唯一的麻煩就是怎麼把port forward出去讓外面也可以連進來。

結果昨晚就全部花在Google上面。嘗試了好幾個方案。AUTAPF這套軟體可以進行Port forwarding,可是會跳出擾人視窗要求註冊所以放棄。我也嘗試過使用Windows內建的ICS去開port 80,可是不管IP那一欄怎麼打外面就是連不進來,所以又放棄了。最後我找到AnalogX公司出的免費portmapper,解決了Port forwarding的問題。

另外一個小問題,就是啟動虛擬機器的時候一定會有虛擬機器的視窗,這很煩怎麼辦呢?我在網路上找到了這篇,裡面有隱形啟動bat的方法。用了這個方法以後就可以在啟動的時候順路啟動班網虛擬機,而且不會有煩人的UI跑出來。

這樣一來,班網可以由外連,也可以安靜的自動啟動,暫時性的班網總算完成了。 全文連結

星期四, 3月 01, 2007

1G的力量

長期以來各種應用程式,諸如遊戲或是Foobar、Firefox,因為記憶體用的非常凶,電腦都常常處在一種接近快掐死的狀態,而我都一直和這種現象和平相處著,不過最近Eclipse事件加上DRAM跌到谷底讓我決定加RAM。今天藥理學下課就去光華敗了一條金士頓DDR400 512MB的記憶體。

記憶體的威力果然不同凡響啊,首先拿肥大的應用程式進行測試,我妹的Cabal或是我的Archlord再也不會玩到一半狂讀硬碟,跳出遊戲所需要的時間從原本一兩分鐘縮短成兩秒,讓本座感動到差點淚流滿面。至於Eclipse呢?有了全新空白的512MB RAM以後他接近128MB的瘋狂記憶體使用量變得微不足道了。開了Eclipse和Foobar2000,記憶體使用量56%,就算再打開128MB的guest Windows 2003也只有7X%的使用率。不過1G的RAM也用了7X%,那以前我用512MB記憶體的時候機器到底是怎麼活下來的??

今天沒太多時間寫程式,切片程式Code又差不多爛了。明天放學有空可能必須把載入的部份利用最佳化的演算法徹底重寫。(話說現在重寫都沒在驚的,有Subversion罩著程式碼怎麼亂改都OK)。切片Server的部份,加入了「只要是TMU就可以登入」的認證選項,下禮拜算是有東西可以交差,不過viewer的最佳化應該也可以順利完成。

至於班網的部份,班網的主機應該是硬碟壞軌才會出現swap的indefinite waiting。今天把swap的硬碟拔掉以後用原本home的硬碟放swap,下場好像是變成記憶體不夠orz,好了是好了,但只撐了一天就又葛屁了orz。不只如此,但根據電腦大王R的說法,上面的主機板、IDE卡似乎也有些故障,恐怕是多重器官衰竭啊... 全文連結

最近

首先是3/7號的病理考試,四十本共筆現在只溫習了五本。因為病理之神兼電腦之王R大強力推薦寫review題庫可以讓功力大幅上升。所以今天我就花了很多時間寫review題庫,結果錯誤率大概是百分之八十吧囧rz。難道我以後真的要靠別人兒子的屍體練等級嗎?T_T

這一兩天也去下載了大陸的霸王大陸(Archlord)來玩,雖然玩起來Lag頗嚴重,但畫面非常的漂亮,由倫敦交響樂團製作的配樂也頗悠揚動聽,目前玩起來感覺還不錯,就是RAM只有512跑不大動。

至於程式設計的大道呢?最近老師寄了一封email提到我的viewer和官方的viewer的速度差很多的問題。今天大概觀測了一下官方viewer的動作,發現問題出在我載入影像的順序沒有最佳化。官方viewer只載入看得到的部份。而我則是採用固定大小的二為陣列放圖,不管目前看不看的到都老老實實的載入。結果就是用我的viewer看要等一段時間,造成使用者的負面觀感。

最近一兩天也是我和command line相處的快樂時光。因為Eclipse(應該說是背後藏鏡人:Java)的記憶體使用量實在太恐怖了。開一個檔案就90M,隨便再加幾個就破128。我主記憶體只有512,還要和很多背景程式分,開Eclipse有時連滑鼠都動不了。所以最近就直接mxmlc直接compile,不經過煩死人的Eclipse了。不過最近記憶體價格跌到谷底,明天我可能會花個一千三去買條DDR400 512MB RAM吧....如果是這樣那Eclipse可能會重回我的懷抱吧。畢竟Notepad++沒有自動完成這些好用的東西(其實是有啦,可是只能自動輸入內建關鍵字,不像Eclipse會去Parse code)。 全文連結