禮拜三就要的PBL目前沒有執行。 <-- 明天優先事項
5/12要考的複習考,只複習了緒論,和一點點骨學。
5/15要交出來的系學會網站,目前只有註冊系統看起來可以用。今天只寫了一部分的檔案系統.....
全文連結
星期一, 5月 07, 2007
星期六, 5月 05, 2007
FastAero
官網
不想換Vista,可是對Vista UI有怨念的人注意了。
Windows XP下目前最有辦法模擬Vista Aero的產品應該是WindowBlinds,WindowBlinds可以透過Per Pixel Alpha Blending達到透明標題列的效果,可是卻沒辦法模糊化,所以WindowBlinds模擬出來的透明,和Vista Aero真正的透明,就好像塑膠片和真正毛玻璃的對比。而FastAero這支程式可以達到模糊化的效果!
目前FastAero是利用CPU運算來達到模糊化,所以CPU使用率很高,而且移動的效果不順,但根據官網的說法,下個版本會用OpenGL加速,非常值得期待! 全文連結
不想換Vista,可是對Vista UI有怨念的人注意了。
Windows XP下目前最有辦法模擬Vista Aero的產品應該是WindowBlinds,WindowBlinds可以透過Per Pixel Alpha Blending達到透明標題列的效果,可是卻沒辦法模糊化,所以WindowBlinds模擬出來的透明,和Vista Aero真正的透明,就好像塑膠片和真正毛玻璃的對比。而FastAero這支程式可以達到模糊化的效果!
目前FastAero是利用CPU運算來達到模糊化,所以CPU使用率很高,而且移動的效果不順,但根據官網的說法,下個版本會用OpenGL加速,非常值得期待! 全文連結
星期四, 5月 03, 2007
星期一, 4月 30, 2007
改程式
今天讀藥理休息的時候改了一下程式,現在瀏覽器不管放大還是縮小切片瀏覽程式都不會重新整理,應該可以解決使用者「天啊,每次改到IE的大小,切片程式都好慢」的問題,另一個我比較在意的問題,是同學說他使用切片瀏覽程式的時候會虛擬記憶體不足,因為我沒有現場看見所以無法推定詳細原因,可能是我的程式有memory leak,或是Flex這個platform本身就很吃資源,兩種可能都很糟...(Flex給我的感覺是還不大盡善盡美,很多component都可以找出bug,他的Garbage Collection更特別另我心痛>"<)
剛剛也發現我部落格以前寫的「按一下顯示使用者評論」的script好像也有問題,這種東西理論上應該要寫個簡單的stack來push/pop div tag才對,但因為我很懶惰,所以直接算<div id='comment之後的第三個closing tag,中間的內容假設為comment body。大部分的情況下都正常,但少數時候就是有怪問題,我也一直沒有時間debug,現在被我拿掉了,改天來改寫抓comment的部份....
藥理,唸到第五本.... 全文連結
剛剛也發現我部落格以前寫的「按一下顯示使用者評論」的script好像也有問題,這種東西理論上應該要寫個簡單的stack來push/pop div tag才對,但因為我很懶惰,所以直接算<div id='comment之後的第三個closing tag,中間的內容假設為comment body。大部分的情況下都正常,但少數時候就是有怪問題,我也一直沒有時間debug,現在被我拿掉了,改天來改寫抓comment的部份....
藥理,唸到第五本.... 全文連結
星期日, 4月 29, 2007
繼續閱讀功能加入
其實我想要這個功能很久了,只是之前為了寫出評論按一下就會伸展顯示而不換頁的功能(檢視原始碼拉到最下面,有人賞光喜歡的話請留個位址自行取用^^,但是code很醜就是了),寫Javascript寫了一段時間,那次和Javscript相處的經驗讓我對JS大為感冒。最主要的問題是JS相當紊亂,光是如何讓寫出來的JS/DOM在IE和Firefox下都能正常運作就快要了我的小命,JS這門語言進一步的特性,比如其獨特的物件導向實作方式和DOM的深入探討,我當然是更沒體力鑽研了。(說「獨特」是以我學習C++ OOP的觀點來看啦...)
之前我也不是沒有Google過「繼續閱讀」的功能,也不是沒找到過,但網路上出來的方案幾乎都需要大改template,然後寫文的時候還要自己加有的沒有的html tag,感覺不是很清爽就沒有使用了。沒想到去看好友hbr的blog,竟然已經有傻瓜方案了!只要加一下widget,然後開script指定一下參數東西就會動,竟然如此方便,馬上就拿來用看看了^^。
相關的資源列表一下:
繼續閱讀懶人包安裝教學
繼續閱讀懶人包安裝設定
Racklin's 阿土伯程式大觀園
寫到這裡,要對那些願意分享自己成果,並且有耐心和JS奮戰的程式設計師們,表達一下我渺小個人的敬意orz 全文連結
之前我也不是沒有Google過「繼續閱讀」的功能,也不是沒找到過,但網路上出來的方案幾乎都需要大改template,然後寫文的時候還要自己加有的沒有的html tag,感覺不是很清爽就沒有使用了。沒想到去看好友hbr的blog,竟然已經有傻瓜方案了!只要加一下widget,然後開script指定一下參數東西就會動,竟然如此方便,馬上就拿來用看看了^^。
相關的資源列表一下:
繼續閱讀懶人包安裝教學
繼續閱讀懶人包安裝設定
Racklin's 阿土伯程式大觀園
寫到這裡,要對那些願意分享自己成果,並且有耐心和JS奮戰的程式設計師們,表達一下我渺小個人的敬意orz 全文連結
星期六, 4月 28, 2007
星期五, 4月 27, 2007
超廢的啦XD
昨天臨診考完了,幾乎沒出考古題,慘的跟什麼一樣。
比較糟糕的是體力消耗的問題,長期學習氣功操,體質還是有提昇(保證是氣功操的差別,因為我除了氣功操 + 一點法輪功以外什麼運動都沒有XD),現在可以忍受一個晚上不睡,隔天再睡死的情況。這種作法好處是可以把隔天的時間借來今天用,可以借到八小時這樣(考前多三十分鐘就差很多...),但壞處就是要付本金加利息。
昨天回來零零碎碎睡了好幾個小時,昨天又比較早睡,但今天七點還是幾乎爬不起來去聽病理。勉強去了第二節也還是睡覺,下午四節也幾乎都在睡。
頭腦的狀況也還沒完全恢復,之前累到一直狂打RPG,現在連RPG都不打,狂玩洛克人,X1已經全破,現在Rockman & Forte也快破了orz
下禮拜的藥理考完以後,就有兩禮拜的快樂沒考試時間,比較麻煩的是我要趕快生出系學會網站... 全文連結
比較糟糕的是體力消耗的問題,長期學習氣功操,體質還是有提昇(保證是氣功操的差別,因為我除了氣功操 + 一點法輪功以外什麼運動都沒有XD),現在可以忍受一個晚上不睡,隔天再睡死的情況。這種作法好處是可以把隔天的時間借來今天用,可以借到八小時這樣(考前多三十分鐘就差很多...),但壞處就是要付本金加利息。
昨天回來零零碎碎睡了好幾個小時,昨天又比較早睡,但今天七點還是幾乎爬不起來去聽病理。勉強去了第二節也還是睡覺,下午四節也幾乎都在睡。
頭腦的狀況也還沒完全恢復,之前累到一直狂打RPG,現在連RPG都不打,狂玩洛克人,X1已經全破,現在Rockman & Forte也快破了orz
下禮拜的藥理考完以後,就有兩禮拜的快樂沒考試時間,比較麻煩的是我要趕快生出系學會網站... 全文連結
星期四, 4月 26, 2007
星期二, 4月 24, 2007
星期一, 4月 23, 2007
星期六, 4月 21, 2007
星期五, 4月 20, 2007
勇者鬥惡龍六
最近考試多,病理考完考實診,下禮拜還有內外概,陪伴我的就是這款遊戲
故事方面十分有趣,一開始畫面是三位勇者去挑一個魔王,然後魔王施展了一招不曉得什麼攻擊,畫面一片白。
之後下一個畫面是主角勇者從惡夢中醒過來,剛剛和魔王的決鬥看起來只是場惡夢,接下來應村長之托,肉腳的主角去南部的城鎮買了慶典用品回來,結果慶典的祈禱突然有人起乩,神明顯靈,要主角去大冒險並且找回他真正的身份....
於是勇者跑去附近的Reidock城,國王說為了對抗邪惡大魔王Mudo,必須要尋找能夠破解所有幻術的Mirror of Ra,於是勇者和城堡中認識的另外一個勇者Hussan出發了。
勇者遇到許多怪事,包括地表會有大洞跳下去可以通到另外一個世界,另一個世界Hussan明明沒見過的人硬把Hussan認作失蹤多年的兒子,同時另外一個世界竟然也有一個Reidock城,然後勇者剛好就和失蹤的王子長的一樣。兩個Reidock城的將軍一個叫Tom,一個叫Soldi,但長相也剛好相同,勇者百思不得其解。
更鬼扯的是,Mirror of Ra帶回原來世界的Reidock城以後,竟然把國王變成了女人,然後女人加入討伐Mudo的軍團,Mudo敗北了以後用幻術想逃,被Mirror of Ra照了以後竟然變成國王!?
原來真相剛好和我一開始認為的相反,主角出發的「原來世界」其實是真實世界人們夢境構成的世界,主角從地洞和達馬神廟進入的「另一世界」才是真實世界,一開始三位勇者挑魔王的場景其實不是惡夢,反而是真實世界的事情。魔王發動的攻擊其實是比聖鬥士星矢中薩卡的幻隴魔皇拳還強的招式:那個招式把三個勇者的靈魂打出身體之外(主角勇者的靈魂還被打成兩份orz),並且將之封印在夢的世界之中,而被封印入夢之世界的靈魂會失去真實世界的記憶,並且以為夢境中荒唐的世界才是真實的,在夢境中過著虛假的人生,直到勇者的靈魂陰錯陽差從真實世界取回可以破解所有幻術的Mirror of Ra讓陷入夢境中的靈魂(被變成國王的女人,被變成Mudo的國王)一一甦醒,真正的冒險開始展開.....
遊戲的音樂十分動聽,應該可以媲美太空戰士系列,比較糟糕的是遊戲系統,在太空戰士一個A紐就可以搞定的事情,DQ卻分成Talk、Search好幾個指令,DQ還很雞婆的設定成每個人一份道具包,道具要傳送來傳送去才能使用,連買商品也要一個一個單買orz,總之遊戲系統超不方便。戰鬥系統也比不上太空戰士,不能針對特定怪物攻擊,還有很多不知道怎麼講的奇怪地方。存檔一開始也讓我不大習慣,只能在村莊的教堂存檔,大地圖上不能存....。但是撇開操作上的不方便,這個遊戲其實劇情很吸引我,玩起來比腦殘打怪線上遊戲好玩多了。
附上幾張圖供參考

存檔用教堂,升級所需經驗值也只能在這裡查詢orz

美美的村莊...

麻煩要死的操作介面,為甚麼就不能像太空戰士一樣一個A紐搞定啊=.=

大地圖,這裡是夢之世界...

發生戰鬥,全體就位,不過這時我只有勇者一名orz

超級麻煩物品選單,舉個例子,要給人吃藥,還要先把物品「Give」給要用的人,然後跳出選單再跳回item選單,讓要用的人選吃藥orz。好懷念太空戰士的物品選單啊....

走迷宮走迷宮....
占卜老婆婆小屋
全文連結
故事方面十分有趣,一開始畫面是三位勇者去挑一個魔王,然後魔王施展了一招不曉得什麼攻擊,畫面一片白。
之後下一個畫面是主角勇者從惡夢中醒過來,剛剛和魔王的決鬥看起來只是場惡夢,接下來應村長之托,肉腳的主角去南部的城鎮買了慶典用品回來,結果慶典的祈禱突然有人起乩,神明顯靈,要主角去大冒險並且找回他真正的身份....
於是勇者跑去附近的Reidock城,國王說為了對抗邪惡大魔王Mudo,必須要尋找能夠破解所有幻術的Mirror of Ra,於是勇者和城堡中認識的另外一個勇者Hussan出發了。
勇者遇到許多怪事,包括地表會有大洞跳下去可以通到另外一個世界,另一個世界Hussan明明沒見過的人硬把Hussan認作失蹤多年的兒子,同時另外一個世界竟然也有一個Reidock城,然後勇者剛好就和失蹤的王子長的一樣。兩個Reidock城的將軍一個叫Tom,一個叫Soldi,但長相也剛好相同,勇者百思不得其解。
更鬼扯的是,Mirror of Ra帶回原來世界的Reidock城以後,竟然把國王變成了女人,然後女人加入討伐Mudo的軍團,Mudo敗北了以後用幻術想逃,被Mirror of Ra照了以後竟然變成國王!?
原來真相剛好和我一開始認為的相反,主角出發的「原來世界」其實是真實世界人們夢境構成的世界,主角從地洞和達馬神廟進入的「另一世界」才是真實世界,一開始三位勇者挑魔王的場景其實不是惡夢,反而是真實世界的事情。魔王發動的攻擊其實是比聖鬥士星矢中薩卡的幻隴魔皇拳還強的招式:那個招式把三個勇者的靈魂打出身體之外(主角勇者的靈魂還被打成兩份orz),並且將之封印在夢的世界之中,而被封印入夢之世界的靈魂會失去真實世界的記憶,並且以為夢境中荒唐的世界才是真實的,在夢境中過著虛假的人生,直到勇者的靈魂陰錯陽差從真實世界取回可以破解所有幻術的Mirror of Ra讓陷入夢境中的靈魂(被變成國王的女人,被變成Mudo的國王)一一甦醒,真正的冒險開始展開.....
遊戲的音樂十分動聽,應該可以媲美太空戰士系列,比較糟糕的是遊戲系統,在太空戰士一個A紐就可以搞定的事情,DQ卻分成Talk、Search好幾個指令,DQ還很雞婆的設定成每個人一份道具包,道具要傳送來傳送去才能使用,連買商品也要一個一個單買orz,總之遊戲系統超不方便。戰鬥系統也比不上太空戰士,不能針對特定怪物攻擊,還有很多不知道怎麼講的奇怪地方。存檔一開始也讓我不大習慣,只能在村莊的教堂存檔,大地圖上不能存....。但是撇開操作上的不方便,這個遊戲其實劇情很吸引我,玩起來比腦殘打怪線上遊戲好玩多了。
附上幾張圖供參考
存檔用教堂,升級所需經驗值也只能在這裡查詢orz
美美的村莊...
麻煩要死的操作介面,為甚麼就不能像太空戰士一樣一個A紐搞定啊=.=
大地圖,這裡是夢之世界...
發生戰鬥,全體就位,不過這時我只有勇者一名orz
超級麻煩物品選單,舉個例子,要給人吃藥,還要先把物品「Give」給要用的人,然後跳出選單再跳回item選單,讓要用的人選吃藥orz。好懷念太空戰士的物品選單啊....
走迷宮走迷宮....
星期四, 4月 19, 2007
星期一, 4月 16, 2007
重灌電腦
本來影診考完以後,應該是專心準備病理,不過電腦卻出現一些怪問題。
不曉得為甚麼,我妹的黑色陰謀突然不能玩,電腦會顯示nprotect出問題然後跳出遊戲,因為想說整個電腦已經很久沒有重灌了,也有很多程式怪怪的(比如firefox常常會null pointer reference當掉),就決定重灌。結果今天就重灌了好幾次orz
第一次重灌以後裝了.net framework 3.0,之後裝catalyst,結果不知道為甚麼7.3的catalyst control center就是不會出現。想說可能是.net的版本太新就直接再裝2.0,結果兩個版本打架(我是相信網路上說多個.net可以共存才這樣啊orz),最後一開機CPU使用率就被兩個.net的DW20.exe吃完,只好重灌。
第二次重灌,直接裝.net framework 2.0,結果Catalyst還是跑不出來,然後系統還是會被.net弄得很奇怪,又重灌。
接下來學聰明一點,直接用2003 SP2裡面的.net framework 1.1,結果Catalyst說要2.0,算了,不理它,繼續裝裝裝,再裝黑色陰謀,結果這次比不重灌更慘,遊戲啟動後沒有任何錯誤訊息直接跳出。又繼續裝了一大堆東西,結果晚餐以後,想說重灌最後一次。
最後一次重灌還是沒有好下場,遊戲照樣不能動。靜下心來想以後,我在猜測會不會是2003新出的SP2和nprotect互相衝突的問題??難道說我要找時間灌回XP嗎??一想到常常當機、音質比較差、一灌完就要打一百多個patch的悲慘情況,實在有點不想耶....
結果今天花一大堆時間忙重灌,十本病理共筆到現在只唸了四五本。但是電腦重灌還是有明顯感覺速度變快,特別是本來顯示很怪異的WindowBlinds又變回正常 全文連結
不曉得為甚麼,我妹的黑色陰謀突然不能玩,電腦會顯示nprotect出問題然後跳出遊戲,因為想說整個電腦已經很久沒有重灌了,也有很多程式怪怪的(比如firefox常常會null pointer reference當掉),就決定重灌。結果今天就重灌了好幾次orz
第一次重灌以後裝了.net framework 3.0,之後裝catalyst,結果不知道為甚麼7.3的catalyst control center就是不會出現。想說可能是.net的版本太新就直接再裝2.0,結果兩個版本打架(我是相信網路上說多個.net可以共存才這樣啊orz),最後一開機CPU使用率就被兩個.net的DW20.exe吃完,只好重灌。
第二次重灌,直接裝.net framework 2.0,結果Catalyst還是跑不出來,然後系統還是會被.net弄得很奇怪,又重灌。
接下來學聰明一點,直接用2003 SP2裡面的.net framework 1.1,結果Catalyst說要2.0,算了,不理它,繼續裝裝裝,再裝黑色陰謀,結果這次比不重灌更慘,遊戲啟動後沒有任何錯誤訊息直接跳出。又繼續裝了一大堆東西,結果晚餐以後,想說重灌最後一次。
最後一次重灌還是沒有好下場,遊戲照樣不能動。靜下心來想以後,我在猜測會不會是2003新出的SP2和nprotect互相衝突的問題??難道說我要找時間灌回XP嗎??一想到常常當機、音質比較差、一灌完就要打一百多個patch的悲慘情況,實在有點不想耶....
結果今天花一大堆時間忙重灌,十本病理共筆到現在只唸了四五本。但是電腦重灌還是有明顯感覺速度變快,特別是本來顯示很怪異的WindowBlinds又變回正常 全文連結
星期六, 4月 14, 2007
星期四, 4月 12, 2007
星期一, 4月 09, 2007
罩哥....
故事簡介:主機板壞了怎麼辦?拔拔自己做一張....
--
春假的時候一直下雨所以沒有打到什麼球
所以就利用了一點時間把放了好久的送球機修了一下
這台送球機主要是壞在電池還有主機板, 還有缺少了變壓充電器
關於電池方面, 之前去光華已經找到一模一樣的了, 12V12A 花了約 $700
充電器方面倒是比較好解決, 直接不要的舊電腦 power 12V 輸出就夠用了
主機板倒是比較難搞, 說實在的真的有點複雜
主機板主要分成兩個部份, 一個是 PIC16C73 為主一系列 IC 的控制部份
另外一部份則是一些電流控制馬達驅動電路
原先想要全部重做的, 無奈有些零件現在已經買不到了
後來發現馬達驅動電路的部份似乎作用正常, 於是就從控制電路下手
原本想說把 PIC16C73 單晶片控制器裡的程式拷貝出來, 可惜它已經壞了
所以最後我只好把程式重新寫一遍
從主機板上發現這個系統主要是由單晶片控制器讀入三個可變電阻的訊號
經由 ADC 轉換, 然後換成 PWM 輸出到馬達驅動電路
可惜現在 PIC16C73 也沒在賣了, 所以我去光華找了另一顆 PIC16F876A($190) 代替
這兩顆IC都有內建 ADC 以及兩個 CCP(PWM) 輸出
不過很糟糕的是在測試的過程中, 因為一個不小心把接腳接反了, 所以就燒掉了
最後乾脆拿國中的時候玩剩的 PIC16C71 來代替
16C71 這顆單晶片比較小一點, 只有 4 個 ADC port, 而且沒有內建 PWM
所以最後我只好手動用計數器模擬 PWM 輸出, 總算是可以讓送球機正常運作了
不過為了程式的簡化, 現在Speed及Spin旋鈕直接控制上下盤就是了
今天去球場測試的結果還是不怎麼滿意
一開始幾顆球還算很順的送出來
不知道是不是因為球是濕的的關係, 後來就會有卡彈的情況發生
送球的裝置沒有問題, 不過球到兩個轉輪前的時候可能是因為滑掉所以沒有被咬進去
中午的時候因為卡太多球了, 結果突然就斷電了, 害我著急了一下
後來發現是因為球卡住馬達, 負荷過大, 所以保險開關自動跳開了
看來還是等球乾掉了再去測試好了 :p 全文連結
--
春假的時候一直下雨所以沒有打到什麼球
所以就利用了一點時間把放了好久的送球機修了一下
這台送球機主要是壞在電池還有主機板, 還有缺少了變壓充電器
關於電池方面, 之前去光華已經找到一模一樣的了, 12V12A 花了約 $700
充電器方面倒是比較好解決, 直接不要的舊電腦 power 12V 輸出就夠用了
主機板倒是比較難搞, 說實在的真的有點複雜
主機板主要分成兩個部份, 一個是 PIC16C73 為主一系列 IC 的控制部份
另外一部份則是一些電流控制馬達驅動電路
原先想要全部重做的, 無奈有些零件現在已經買不到了
後來發現馬達驅動電路的部份似乎作用正常, 於是就從控制電路下手
原本想說把 PIC16C73 單晶片控制器裡的程式拷貝出來, 可惜它已經壞了
所以最後我只好把程式重新寫一遍
從主機板上發現這個系統主要是由單晶片控制器讀入三個可變電阻的訊號
經由 ADC 轉換, 然後換成 PWM 輸出到馬達驅動電路
可惜現在 PIC16C73 也沒在賣了, 所以我去光華找了另一顆 PIC16F876A($190) 代替
這兩顆IC都有內建 ADC 以及兩個 CCP(PWM) 輸出
不過很糟糕的是在測試的過程中, 因為一個不小心把接腳接反了, 所以就燒掉了
最後乾脆拿國中的時候玩剩的 PIC16C71 來代替
16C71 這顆單晶片比較小一點, 只有 4 個 ADC port, 而且沒有內建 PWM
所以最後我只好手動用計數器模擬 PWM 輸出, 總算是可以讓送球機正常運作了
不過為了程式的簡化, 現在Speed及Spin旋鈕直接控制上下盤就是了
今天去球場測試的結果還是不怎麼滿意
一開始幾顆球還算很順的送出來
不知道是不是因為球是濕的的關係, 後來就會有卡彈的情況發生
送球的裝置沒有問題, 不過球到兩個轉輪前的時候可能是因為滑掉所以沒有被咬進去
中午的時候因為卡太多球了, 結果突然就斷電了, 害我著急了一下
後來發現是因為球卡住馬達, 負荷過大, 所以保險開關自動跳開了
看來還是等球乾掉了再去測試好了 :p 全文連結
星期日, 4月 08, 2007
星期六, 4月 07, 2007
一篇Java文
一篇Java文
看來Java也是個有趣的科技。原來Java的memory allocation比C還快?該不會是因為JVM一開始就吃了120MB的記憶體等著讓程式去用的原因吧XDrz
不過有幾個觀點是我沒想過的:把feature交給platform/compiler,而不是library,可以提供更多的優化。還有Java在runtime進行compile可以比C compiler有更多的資訊。這點也是啦,最近在看Inside C++ object model,裡面就舉出很多compile time無法知道的訊息,比如一個指標到底指向什麼物件?這的確要runtime才有辦法知道。還有一個有趣的觀點:把指標交給程式設計師使用,其實是妨礙了compiler優化的機會,不過我對指標不大熟就是了orz 全文連結
看來Java也是個有趣的科技。原來Java的memory allocation比C還快?該不會是因為JVM一開始就吃了120MB的記憶體等著讓程式去用的原因吧XDrz
不過有幾個觀點是我沒想過的:把feature交給platform/compiler,而不是library,可以提供更多的優化。還有Java在runtime進行compile可以比C compiler有更多的資訊。這點也是啦,最近在看Inside C++ object model,裡面就舉出很多compile time無法知道的訊息,比如一個指標到底指向什麼物件?這的確要runtime才有辦法知道。還有一個有趣的觀點:把指標交給程式設計師使用,其實是妨礙了compiler優化的機會,不過我對指標不大熟就是了orz 全文連結
星期四, 4月 05, 2007
去新竹
又是快樂的新竹回憶。從高中畢業已經四年了,讀大學的日子已經比讀高中的日子還要長,可是cisiii的友情和回憶依舊堅挺無比XD
今天見面最主要就是打世紀,三個人組隊打三、四個瘋狂電腦。在我來新竹之前,twsam和dream號稱他們已經練成二打三瘋狂電腦的功夫,所以今天我就非常期待。結果打了幾場只贏了一場,被電腦滅國的速度非常順暢,痛打電腦倒是沒有orz。雖然他們抱怨我升級非常慢,可是有好幾場他們都是庇蔭於我石牆和基地的保護之下,只有兩場是我提早被電腦打爆而不得不讓村民逃亡orz。
最後一場是頗為可惜的一場,我自己以歌德開局,城堡出現的太慢導致前波攻擊只能使用長劍兵/雙手劍兵,被對方的弓箭手/茅兵打帶跑打好玩的,後期歌德衛隊一出現,立刻快樂痛宰對方的弓兵,只可惜防禦不周,被對方邪惡奇襲,導致我家破人亡不得不請村民快速寄居到別人家中慢慢復國。復國的路很辛苦,在金礦全被電腦搶走的情況下,只能用垃圾兵跟電腦周旋,所幸歌德步兵有折扣,帝王時代戟兵只要26食物14木材,六座軍營全力生出一波一波的垃圾兵硬食電腦,而電腦也沒出黃金兵反擊。正當電腦攻勢逐漸鬆懈的時候,我們赫然發現對方蓋了世界奇觀,我們忘了設武力征服囧。結局是大家黃金嚴重短缺,所有人都只有垃圾兵,唯一攻城武器就是幾架弩炮,加上我們用的世紀版本有bug,世界奇觀倒數到正好一百年的時候遊戲就會當,結果就沒有打下來。大家都有悵然若失的感覺orz
這幾場用了很多其他的民族,蒙古的輕騎兵感覺很威,只要食物和馬廄數量夠多,可以很快的速度大量生產輕騎兵,後期食物量超多,一波又一波輕騎淹過去打耗損戰/游擊戰,就算是黃金超多富可敵國的國家最後大概也只能被逼用垃圾兵來應付吧,不過我玩蒙古那場因為不熟,被對方大量遊俠和弓兵一次解決orz。英國長弓兵也讓我玩到了,當初和DNA的長弓兵對打的時候吃足了苦頭,現在自己用發現其實長弓兵也未必無敵:長弓兵有比城堡還長的恐怖射程優勢,但生命力卻非常單薄,給投石車打一下或是不小心跟步兵交鋒兩三下都會瞬間造成傷亡,所以一定要遠離敵人並且前方有肉盾才能發揮恐怖的戰力。日本我也用了一下,但還沒體現出優勢就被電腦玩死了>"<
今天還研究了關於網路連線的問題,我到新竹去最主要的問題就是交通時間來回需要接近三小時,假如改用TCP/IP連線就隨時隨地可以玩,那三個小時的通車時間也不必浪費而可以投資在和電腦的對抗上XD。可是比較擔心的就是不知道臨場感會損失多少。
今天玩的實在是非常開心啊,有種回到資訊社302教室的感覺^^
--
突然想起另外一件事情,該死的得力抹揚言要培養搶錢戰隊來搶我大乙零用錢啊>"< 得力抹,賺錢要靠自己的本事,不可以用黑暗的步數XDDDD 全文連結
今天見面最主要就是打世紀,三個人組隊打三、四個瘋狂電腦。在我來新竹之前,twsam和dream號稱他們已經練成二打三瘋狂電腦的功夫,所以今天我就非常期待。結果打了幾場只贏了一場,被電腦滅國的速度非常順暢,痛打電腦倒是沒有orz。雖然他們抱怨我升級非常慢,可是有好幾場他們都是庇蔭於我石牆和基地的保護之下,只有兩場是我提早被電腦打爆而不得不讓村民逃亡orz。
最後一場是頗為可惜的一場,我自己以歌德開局,城堡出現的太慢導致前波攻擊只能使用長劍兵/雙手劍兵,被對方的弓箭手/茅兵打帶跑打好玩的,後期歌德衛隊一出現,立刻快樂痛宰對方的弓兵,只可惜防禦不周,被對方邪惡奇襲,導致我家破人亡不得不請村民快速寄居到別人家中慢慢復國。復國的路很辛苦,在金礦全被電腦搶走的情況下,只能用垃圾兵跟電腦周旋,所幸歌德步兵有折扣,帝王時代戟兵只要26食物14木材,六座軍營全力生出一波一波的垃圾兵硬食電腦,而電腦也沒出黃金兵反擊。正當電腦攻勢逐漸鬆懈的時候,我們赫然發現對方蓋了世界奇觀,我們忘了設武力征服囧。結局是大家黃金嚴重短缺,所有人都只有垃圾兵,唯一攻城武器就是幾架弩炮,加上我們用的世紀版本有bug,世界奇觀倒數到正好一百年的時候遊戲就會當,結果就沒有打下來。大家都有悵然若失的感覺orz
這幾場用了很多其他的民族,蒙古的輕騎兵感覺很威,只要食物和馬廄數量夠多,可以很快的速度大量生產輕騎兵,後期食物量超多,一波又一波輕騎淹過去打耗損戰/游擊戰,就算是黃金超多富可敵國的國家最後大概也只能被逼用垃圾兵來應付吧,不過我玩蒙古那場因為不熟,被對方大量遊俠和弓兵一次解決orz。英國長弓兵也讓我玩到了,當初和DNA的長弓兵對打的時候吃足了苦頭,現在自己用發現其實長弓兵也未必無敵:長弓兵有比城堡還長的恐怖射程優勢,但生命力卻非常單薄,給投石車打一下或是不小心跟步兵交鋒兩三下都會瞬間造成傷亡,所以一定要遠離敵人並且前方有肉盾才能發揮恐怖的戰力。日本我也用了一下,但還沒體現出優勢就被電腦玩死了>"<
今天還研究了關於網路連線的問題,我到新竹去最主要的問題就是交通時間來回需要接近三小時,假如改用TCP/IP連線就隨時隨地可以玩,那三個小時的通車時間也不必浪費而可以投資在和電腦的對抗上XD。可是比較擔心的就是不知道臨場感會損失多少。
今天玩的實在是非常開心啊,有種回到資訊社302教室的感覺^^
--
突然想起另外一件事情,該死的得力抹揚言要培養搶錢戰隊來搶我大乙零用錢啊>"< 得力抹,賺錢要靠自己的本事,不可以用黑暗的步數XDDDD 全文連結
星期三, 4月 04, 2007
好書!
今天補習班奮戰完病理以後,在附近的墊腳石看到了一本關於Windows程式設計的好書,書本簡介這裡有。因為時間緣故,所以我只看了前面一些關於Windows記憶體定址,Process之間的互動、多執行緒等的簡介。一些我很有興趣的主題,如DLL、掛勾、核心模式防火牆之類的我還沒看。但看到目前為止感覺非常好。
中文電腦書常會有怪怪的翻譯,特別是簡體書。之前在誠品旗艦店看到一本WDM程式設計,高興的拿起來看卻大大失望,因為裡面的翻譯實在太糟糕了,miniport driver翻微型驅動,virtual function翻「虛函式」(不是「虛擬函式」喔)不勝枚舉,讓我頗為傷心。這本完全沒那個怪現象,雖然有的地方寫的不是很清楚,必須靠其他的知識才能解開XD
下次去補習的時候趕快把那本書看完XD 全文連結
中文電腦書常會有怪怪的翻譯,特別是簡體書。之前在誠品旗艦店看到一本WDM程式設計,高興的拿起來看卻大大失望,因為裡面的翻譯實在太糟糕了,miniport driver翻微型驅動,virtual function翻「虛函式」(不是「虛擬函式」喔)不勝枚舉,讓我頗為傷心。這本完全沒那個怪現象,雖然有的地方寫的不是很清楚,必須靠其他的知識才能解開XD
下次去補習的時候趕快把那本書看完XD 全文連結
星期二, 4月 03, 2007
我們沒有新聞台~
來源
--引用開始--
前兩天晚上,拖著疲憊的身軀回到家時,看到了一則令人震驚的新聞,也就是周振保拿著幾把槍在鏡頭揮舞,並且恐嚇要將某人「做掉」之時,我有一種毛骨悚然的感覺。我急忙打了電話給大哥,要他不要打開電視,因為我怕我們家的兩個小朋友看到這種囂張的畫面。
當然來不及了,他們已經從所有的新聞台看到了這則「新聞」,小朋友還跟爸爸說:「他很帥耶~」
告訴我,我們需要什麼樣的媒體?
容我說個故事給大家聽。
大家應該都聽過金恩博士吧?就算沒聽過這位黑人民權運動領袖,應該也聽過 “ I have a dream”這篇演講吧?就是這篇演講,讓一九六0年代的黑人民權運動一時之間蓬勃發展,美國政治的面貌,從此徹底改變。
當年金恩博士的聲望,可以說是如日中天,讓美國共和黨政府覺得芒刺在背,因此美國聯邦調查局局長胡佛的打壓於是焉展開,下令全面監控金恩博士的言行。凡是金恩博士所到之處,調查員就先行裝置竊聽設備。終於在金恩博士有次前往華府活動下榻當地維拉飯店時,錄到了十五卷金恩博士召妓的床上錄音。胡佛取得這些資料之後,大喜過望,立刻利用這些錄音帶向「全美基督教會委員會」和「浸信會世界聯盟」等施壓,要求他們停止對金恩博士的支持。當金恩博士得到諾貝爾和平獎之後,胡佛更決心利用媒體來炒作金恩博士的性醜聞八卦,讓金恩博士身敗名裂。
當胡佛及其親信遍訪當時美國幾乎所有的大報與雜誌,包括《新聞週刊》、《紐約時報》、《洛杉磯時報》、《芝加哥每日新聞》、《時代雜誌》等,卻沒有一家媒體對於這個保證提升閱報率的新聞感到有興趣,這些報紙與雜誌,甚至連去聽這些錄音的興趣都沒有。根據許多後來對當事人的訪談,這些媒體拒絕這條新聞,不是怕得罪民權運動者,而是媒體都共識到這是嚴重違背新聞倫理的手段。如果媒體當時配合演出,新聞倫理將蕩然無存,報紙的信譽也將毀於一旦。美國媒體在這個新聞抗拒了撒旦的招手,也為後世的新聞工作者留下了良好的典範。金恩博士十五卷床上錄音帶案,乃是美國新聞人發揮新聞道德與倫理的最佳紀錄,也是美國新聞史上最值得驕傲的一章。它提醒了世人,在新聞收視率與新聞倫理的平衡上,有許多事是不能做的。
然而在台灣,我們的新聞媒體,有什麼是不能做的?
TVBS是不是一個值得信賴的媒體,我並不清楚,也不願意評論;事實上,從東森的「腳尾飯事件」、TVBS的「瀝青薑母鴨事件」中,我們一次又一次的被媒體的「獨家」欺騙;當自由時報把被性侵者的照片放在社會版頭條,當蘋果日報把血淋淋的照片放在頭版,到底有哪一個主流媒體是可以信任的?
因此,當所有的媒體一片「幸災樂禍」,攻擊TVBS「自編自導」小弟持槍光碟案的時候,我突然打了個冷顫。
告訴我,我們需要什麼樣的媒體?
還是我要告訴我自己,我們沒有新聞台,只有綜藝台?
--
一篇好文章啊,是台灣媒體太爛還是外國媒體太好? 全文連結
--引用開始--
前兩天晚上,拖著疲憊的身軀回到家時,看到了一則令人震驚的新聞,也就是周振保拿著幾把槍在鏡頭揮舞,並且恐嚇要將某人「做掉」之時,我有一種毛骨悚然的感覺。我急忙打了電話給大哥,要他不要打開電視,因為我怕我們家的兩個小朋友看到這種囂張的畫面。
當然來不及了,他們已經從所有的新聞台看到了這則「新聞」,小朋友還跟爸爸說:「他很帥耶~」
告訴我,我們需要什麼樣的媒體?
容我說個故事給大家聽。
大家應該都聽過金恩博士吧?就算沒聽過這位黑人民權運動領袖,應該也聽過 “ I have a dream”這篇演講吧?就是這篇演講,讓一九六0年代的黑人民權運動一時之間蓬勃發展,美國政治的面貌,從此徹底改變。
當年金恩博士的聲望,可以說是如日中天,讓美國共和黨政府覺得芒刺在背,因此美國聯邦調查局局長胡佛的打壓於是焉展開,下令全面監控金恩博士的言行。凡是金恩博士所到之處,調查員就先行裝置竊聽設備。終於在金恩博士有次前往華府活動下榻當地維拉飯店時,錄到了十五卷金恩博士召妓的床上錄音。胡佛取得這些資料之後,大喜過望,立刻利用這些錄音帶向「全美基督教會委員會」和「浸信會世界聯盟」等施壓,要求他們停止對金恩博士的支持。當金恩博士得到諾貝爾和平獎之後,胡佛更決心利用媒體來炒作金恩博士的性醜聞八卦,讓金恩博士身敗名裂。
當胡佛及其親信遍訪當時美國幾乎所有的大報與雜誌,包括《新聞週刊》、《紐約時報》、《洛杉磯時報》、《芝加哥每日新聞》、《時代雜誌》等,卻沒有一家媒體對於這個保證提升閱報率的新聞感到有興趣,這些報紙與雜誌,甚至連去聽這些錄音的興趣都沒有。根據許多後來對當事人的訪談,這些媒體拒絕這條新聞,不是怕得罪民權運動者,而是媒體都共識到這是嚴重違背新聞倫理的手段。如果媒體當時配合演出,新聞倫理將蕩然無存,報紙的信譽也將毀於一旦。美國媒體在這個新聞抗拒了撒旦的招手,也為後世的新聞工作者留下了良好的典範。金恩博士十五卷床上錄音帶案,乃是美國新聞人發揮新聞道德與倫理的最佳紀錄,也是美國新聞史上最值得驕傲的一章。它提醒了世人,在新聞收視率與新聞倫理的平衡上,有許多事是不能做的。
然而在台灣,我們的新聞媒體,有什麼是不能做的?
TVBS是不是一個值得信賴的媒體,我並不清楚,也不願意評論;事實上,從東森的「腳尾飯事件」、TVBS的「瀝青薑母鴨事件」中,我們一次又一次的被媒體的「獨家」欺騙;當自由時報把被性侵者的照片放在社會版頭條,當蘋果日報把血淋淋的照片放在頭版,到底有哪一個主流媒體是可以信任的?
因此,當所有的媒體一片「幸災樂禍」,攻擊TVBS「自編自導」小弟持槍光碟案的時候,我突然打了個冷顫。
告訴我,我們需要什麼樣的媒體?
還是我要告訴我自己,我們沒有新聞台,只有綜藝台?
--
一篇好文章啊,是台灣媒體太爛還是外國媒體太好? 全文連結
星期一, 4月 02, 2007
星期五, 3月 30, 2007
星期三, 3月 28, 2007
星期二, 3月 27, 2007
星期一, 3月 26, 2007
幸運女神之小不隆東便利多多
每天都寫今天寫了什麼程式(如:今天完成了系學會的登入頁面orz)或是讀了什麼功課(如:看了15頁的影像診斷學課本orz)太無趣了,來說說一部我喜歡的動畫。
這部「小不隆東便利多多」可以說是「幸運女神」的分支。幸運女神的主要劇情是敘述某平凡大學生因緣際會和天界女神:Belldandy相識並且相愛的溫馨卡通。但這部「小不隆東便利多多」和幸運女神主要的劇情基本上完全無涉,男主角Keiichi沒有出場,取而代之的是一隻常常被女神們惡整卻又心腸好的老鼠:阿岩。整個小不隆東的劇情主要是搞笑,前後集沒有連貫。

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

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

老鼠阿岩和Urd。 全文連結
這部「小不隆東便利多多」可以說是「幸運女神」的分支。幸運女神的主要劇情是敘述某平凡大學生因緣際會和天界女神:Belldandy相識並且相愛的溫馨卡通。但這部「小不隆東便利多多」和幸運女神主要的劇情基本上完全無涉,男主角Keiichi沒有出場,取而代之的是一隻常常被女神們惡整卻又心腸好的老鼠:阿岩。整個小不隆東的劇情主要是搞笑,前後集沒有連貫。
左邊是老鼠阿岩,右邊是年紀最大最我行我素的女神Urd。
左邊微笑的是二女,極度有禮的女神Belldandy,右邊是常常發明出廢物以及危險物的么女Skuld。Belldandy在小不隆東的戲份並不重,台詞常常只是「晚餐煮好了喔,請大家來吃吧」,或是製造意外的效果,比如阿岩和另外一隻老鼠競選老鼠總統,當選人卻是Belldandy之類的。
老鼠阿岩和Urd。 全文連結
星期六, 3月 24, 2007
寫程式
今天又是寫程式。主要任務是系學會服務的移轉和改進。所謂移轉,是把原有的服務從壞掉的舊主機移動到新主機。所謂改進,目前目標有把PHP和HTML分離,結構改進成適用全校等。
目前做完了註冊的一小部份。因為當初寫通訊錄的時候架構用的還算活,所以新的系學會服務搞不好可以直接和通訊錄整合(先見之明?XD)。至於跟Joomla的整合,想想還是算了,反正兩個用戶資料表根本就不相通(系學會用的用戶名稱就是學號,Joomla的卻是自由命名。兩者權限也互不重疊),還是回去使用我的快樂物件庫 + Smarty。即便未來需要整合,Joomla可以用patTemplate,應該也就可以用smarty,我想。
讀書方面看了幾頁的影像診斷課本,卻完全提不起勁來啊。
明天要去補習。 全文連結
目前做完了註冊的一小部份。因為當初寫通訊錄的時候架構用的還算活,所以新的系學會服務搞不好可以直接和通訊錄整合(先見之明?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 全文連結
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。 全文連結
因為還沒有正式閱讀Joomla的說明文件,所以很多特性還不是很清楚。但可以確定的是Joomla的架構非常具有延展性,有算是豐富的延伸套件開發文件,所以有需要的人可以自行開發。目前Joomla已經有一大堆套件,免費的收費的都有。功能上有討論區、日曆....一大堆。
看了Joomla很心動,搞不好除了系學會之外,以後班網也架在上面呢XD。 全文連結
星期二, 3月 20, 2007
內傷
內家拳真的很強,特別是使用者受過正統道家修行人(有高深氣功,還能與神靈交談那種)和武術大師(已知真的能用中國武術套路實戰)的訓練,本身又有氣功底子的時候。
今天發實診共筆,吾友darkjade看到上面某個圖形很像發勁示意圖,就很開心的在我左胸打了一掌。
當下覺得沒有什麼,就很開心的和其他人去影印店拿影印的東西,結果走到半路身體就不對(不是胸口痛起來,這種小事沒什麼好紀錄orz)。整個人開始感覺噁心想吐,左胸整個閉塞,頭暈。
拿了以後去附近早餐店吃飯,難得一堆人在一起我卻沒有打嘴炮。因為這時候我正在努力放鬆自己,想辦法讓彆扭的肌肉放鬆下來。整個用餐過程我發現食道在吞嚥時除了推進食物還可以在受傷時自發性不斷的顫動。痛覺開始到達全身,左邊的脖子,左右腋下都可以感到不適。半個胸口很緊。
醫資所開會的時候,因為感覺真的不舒服,跟老師講提早離開想說去找darkjade先生,結果他似乎不在,我就直接回家了。到家的時候噁心沒那麼厲害,胸悶也因為自己放鬆吐納緩解得差不多了,但跑跳時胸口感覺還是會閉住,就請他透過MSN教我簡單的推拿,問起他是不是推我的時候用了內勁之類的詭異東西,他說他根本沒用氣,是我太虛orz。於是我就自己推拿了,稍微緩解一點。
晚飯過後狀況似乎有好轉,跑跳的時候的氣息閉塞也比較不見了,精神狀況也恢復許多,只剩下身體會有種若有若無的悶感和位置很深層四處移動的悶痛感,希望明天睡覺醒來就一切OK XD。 全文連結
今天發實診共筆,吾友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 全文連結
因為我沒有作業系統設計的基礎,所以讀起來有些地方有點陌生,比如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 全文連結
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 全文連結
目前有幾個可能的關注方向吧,方向一就是我繼續讀我的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 全文連結
主菜有三條香腸,原味德國香腸、起司德國香腸、鹹味義大利香腸。都充分展現出德國香腸脆脆有嚼勁的口感,搭配盤子旁邊的德國馬鈴薯、酸菜等滋味著實不錯XD。至於五百元等級的豬腳主菜,烤了好幾個小時的現做豬皮還有彷彿會放出熱線的豬腳肉看起來也是超級好吃,我是因為價錢因素沒點。
隨著主菜出現的雜糧麵包、果汁、湯也都有該有的水準,總之就是可圈可點XD
大家聊了許多關於課業、醫院、就業的問題。首先我赫然發現我九三級的學弟是班上前十的強者,和我這位以六十幾分過關的大體組頭截然不同XD。再來,內科R1(=剛畢業生)真的有九萬元的薪水,看來我放棄心愛的電腦走向醫學並不是完全錯誤XD。其次,我似乎身上有強烈的工程師氣息,除了班上同學外學長也這麼說。還有,據說每科都可能被告,就算是一輩子不必和病人接觸的病理科醫師也是XD 全文連結
星期六, 3月 17, 2007
星期三, 3月 14, 2007
好物!
開放原始碼Windows防火牆
Windows系統封包過濾之技巧
*nix系列的作業系統一向有很多開放原始碼的防火牆,相關的documentation也很清楚,但在Windows的世界,防火牆似乎是大型商業公司的專利,免費的產品有是有,但大多都是付費產品的試用型馬前卒。唯一有開放原始碼的費爾防火牆也是販賣原始碼,而不是有如GPL班開放給大眾閱覽。而大概數個月或是一年之前,我Google有關如何寫防火牆的資訊,也只得到一些草草的介紹。不料隔了一段時間以後,資源變得這麼豐富啊。 全文連結
Windows系統封包過濾之技巧
*nix系列的作業系統一向有很多開放原始碼的防火牆,相關的documentation也很清楚,但在Windows的世界,防火牆似乎是大型商業公司的專利,免費的產品有是有,但大多都是付費產品的試用型馬前卒。唯一有開放原始碼的費爾防火牆也是販賣原始碼,而不是有如GPL班開放給大眾閱覽。而大概數個月或是一年之前,我Google有關如何寫防火牆的資訊,也只得到一些草草的介紹。不料隔了一段時間以後,資源變得這麼豐富啊。 全文連結
星期二, 3月 13, 2007
生活
昨天花了不少時間把共筆勘誤新增查詢功能寫入班網。希望從此以後就不會有考前翻逼翻到死的窘境。除此之外好像也沒做什麼別的事情。
大四下,雖然最後確定暑假沒有國考,可是當初排課的時候因為當作同學要準備國考,所以排出來的課表幾乎可以「週休四日」來形容,讓我有時間稍微沈澱一下心靈。
雖然程式設計師本身就有種悲哀的浪漫:為了眾人幸福的微笑,必須自我犧牲把自己封印在電腦前面。不過這一段時間以來電腦的比重似乎太大了,由部落格的文章就可以看出這點,剛剛還有種錯覺,好像我的部落格變成了SVN changelog。其他種類文章幾乎都空白了,就連醫科大學生活相關文都沒有,完全嗅不出我是醫科大學生的味道orz
電腦固然非常好玩,也是我的主要配點所在,但是程式寫久還是會有點累。所謂一陰一陽才是自然,起一定搭配著落,盛一定搭配著衰,緊一定搭配著鬆。人也是自然的產物,不可能長時間維持燃燒專注於某物的狀態(我所說的人類不包含罩哥XD),一定是緊張放鬆交替進行,各種不一樣的活動交叉運用才能夠生生不息。長時間為了班級為了學校不斷的寫程式,切片網、班網還有接下來的系學會網。結果當想要暫時休息的時候赫然發現電腦以外的東西都被我忘掉了XD
我該做點什麼探險呢??XD 全文連結
大四下,雖然最後確定暑假沒有國考,可是當初排課的時候因為當作同學要準備國考,所以排出來的課表幾乎可以「週休四日」來形容,讓我有時間稍微沈澱一下心靈。
雖然程式設計師本身就有種悲哀的浪漫:為了眾人幸福的微笑,必須自我犧牲把自己封印在電腦前面。不過這一段時間以來電腦的比重似乎太大了,由部落格的文章就可以看出這點,剛剛還有種錯覺,好像我的部落格變成了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 全文連結
雖然說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,搜尋起來很不方便,而一大堆文夾雜在一起也很不好閱讀。所以接下來共筆寫完應該就會去寫這方面的功能吧。 全文連結
班網弄好以後我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
星期二, 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或是用小技巧優化,不如一開始就用正確的設計或是把複雜度降低。
病理學切片網站 全文連結
唸書念到整個人幾乎快炸掉,昨天還莫名其妙失眠在床上滾到五點。
這幾天比較有建樹的娛樂就是改了切片瀏覽程式的核心。原本的核心是用二維陣列,以預設的大小讀圖,因為結構的問題限制頗多,在優化的過程中整體逐漸膨大複雜化,昨天唸書休息的時候就把想到的新演算法拿來用,在唸書之餘,花了不少時間把繪圖核心全部拿掉重寫。最後成功達到優化目標,老核心的速度和新核心完全不能比!禮拜四開會看來可以安心交差。
寫切片瀏覽程式讓我深深體會到一段話:
(引自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跑出來。
這樣一來,班網可以由外連,也可以安靜的自動啟動,暫時性的班網總算完成了。 全文連結
機器沒了,可是現在調課已經開始出現,的確有需要班網功課表的服務,可是新的機器沒時間馬上弄好,怎麼辦?我就把主意動到家裏面當作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卡似乎也有些故障,恐怕是多重器官衰竭啊... 全文連結
記憶體的威力果然不同凡響啊,首先拿肥大的應用程式進行測試,我妹的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)。 全文連結
這一兩天也去下載了大陸的霸王大陸(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)。 全文連結
星期二, 2月 27, 2007
星期日, 2月 25, 2007
班網完成
雖然花在程式設計上的時間其實不多,可是現下的功力又比當初寫班網時增長了許多。現在回頭看當時班網的設計真的一點美感都沒有orz
今天和電腦R大聊天以後臨時決定把班網重寫。因為主要的物件(認證物件、SQL連接物件)都寫好了,所以重寫的過程非常的愉快,原先和認證部份有關的程式碼全砍了改用新物件。其他的程式碼則是慢慢替換,把所有的資料庫查詢和認證呼叫轉換成使用新物件的同語意程式碼。然後死命的除錯。(這幾個字等於好幾個小時啊)
程式碼改好以後,除了幾個大物件以外,其他的程式碼真的變得非常乾淨XDD,目前初步執行也算OK,沒遇到什麼大問題。現在就是等明天和電腦R大會合以後去修系學會的主機,然後把程式碼轉移到上面。就不必很辛苦的在我的512MB小電腦分RAM給虛擬機器orz(不過今天我發現一件神奇的事情,雖然我給Guest OS的RAM是128MB,不過一段時間放著他記憶體佔用量就自己變成8MB了。令人不禁讚嘆Windows2003記憶體管理之高明,而且塞進swap以後還是可以用firefox連喔)。
班網目前應該就是這樣,切片系統我可能會做點小改(老師有說官方的比較快,根據我的觀察,官方的之所以快是因為他四個邊不會preload,明天去改看看)。比較慘的是病理我只唸到血管而已,聽說開學要考複習考/_\ 全文連結
今天和電腦R大聊天以後臨時決定把班網重寫。因為主要的物件(認證物件、SQL連接物件)都寫好了,所以重寫的過程非常的愉快,原先和認證部份有關的程式碼全砍了改用新物件。其他的程式碼則是慢慢替換,把所有的資料庫查詢和認證呼叫轉換成使用新物件的同語意程式碼。然後死命的除錯。(這幾個字等於好幾個小時啊)
程式碼改好以後,除了幾個大物件以外,其他的程式碼真的變得非常乾淨XDD,目前初步執行也算OK,沒遇到什麼大問題。現在就是等明天和電腦R大會合以後去修系學會的主機,然後把程式碼轉移到上面。就不必很辛苦的在我的512MB小電腦分RAM給虛擬機器orz(不過今天我發現一件神奇的事情,雖然我給Guest OS的RAM是128MB,不過一段時間放著他記憶體佔用量就自己變成8MB了。令人不禁讚嘆Windows2003記憶體管理之高明,而且塞進swap以後還是可以用firefox連喔)。
班網目前應該就是這樣,切片系統我可能會做點小改(老師有說官方的比較快,根據我的觀察,官方的之所以快是因為他四個邊不會preload,明天去改看看)。比較慘的是病理我只唸到血管而已,聽說開學要考複習考/_\ 全文連結
認證系統unit testing初步完成
剛剛程式改來改去的結果,終於初步把認證系統的unit testing完成了。可喜可賀啊!
我對這個版本的認證系統比之前的班網滿意太多了。現在寫的認證系統基本上是把問題reduce到「某個使用者有沒有某個符號」,資料表只需要兩張,一張是使用者帳號密碼和流水號。另外一張就是符號表,每個符號表只需要三個欄位,流水號一個,符號名稱一個(ex:課表修改權),另外一個欄位就是用符號分割的使用者流水號表(如1#2#3代表流水號為1、2、3的人和這個符號「相應」)。
模式是很簡單,可是之前班網有很多問題都可以很簡單的用這個模式解決。比如「等待認證的使用者」。過去是另外建立一張資料表,然後裡面存滿等待認證的使用者。然後認證通過就從表中刪除使用者,然後把使用者加入另外一張表中。現在這個系統只需要建立名為「等待認證中」的符號然後把使用者流水號塞進去就可以了,認證通過則反向行之。要測試這個使用者是不是等待認證中也只要呼叫測試函式即可。
自己回顧一下,系統的整體架構也比過去進步多多,用OO重寫真的乾淨了不少,和MySQL連接的部份、權限測試,登入測試現在全部都是物件。以MySQL來說,過去常常出現的
$action="select * from table_name where id=2;";
$result=mysql_query($action,$link);
while(mysql_fetch_array(...
...
現在替換成
使用起來方便很多,出錯的機率降低(比如不必再煩惱SQL query忘記打分號了XD),方便做小動作(如強迫所有的query都經過escape),除錯也簡單(寫個script做unit testing即可XD,而且只要物件沒錯通常整個就沒錯XDDD)。
認證物件當然也用了SQL物件,認證的介面也變得很簡單:
//如果smallt可以改課表則傳回true
$auth->UserNameHasAuth("smallt","改課表");
//給smallt管理的權限
$auth->AddAuthToUserNAme("smallt","管理");
比較起來,從前使用者管理的部份根本就是一團漿糊,一大堆奇怪的指令穿插在中間根本不知道幹嘛用orz。放了一個學期以後突然出問題,明明就是我寫的code,可是我真的完全不知道怎麼改囧rz。
現階段有在考慮把code全部打上註解。然後希望未來可以把design pattern的書讀完。 全文連結
我對這個版本的認證系統比之前的班網滿意太多了。現在寫的認證系統基本上是把問題reduce到「某個使用者有沒有某個符號」,資料表只需要兩張,一張是使用者帳號密碼和流水號。另外一張就是符號表,每個符號表只需要三個欄位,流水號一個,符號名稱一個(ex:課表修改權),另外一個欄位就是用符號分割的使用者流水號表(如1#2#3代表流水號為1、2、3的人和這個符號「相應」)。
模式是很簡單,可是之前班網有很多問題都可以很簡單的用這個模式解決。比如「等待認證的使用者」。過去是另外建立一張資料表,然後裡面存滿等待認證的使用者。然後認證通過就從表中刪除使用者,然後把使用者加入另外一張表中。現在這個系統只需要建立名為「等待認證中」的符號然後把使用者流水號塞進去就可以了,認證通過則反向行之。要測試這個使用者是不是等待認證中也只要呼叫測試函式即可。
自己回顧一下,系統的整體架構也比過去進步多多,用OO重寫真的乾淨了不少,和MySQL連接的部份、權限測試,登入測試現在全部都是物件。以MySQL來說,過去常常出現的
$action="select * from table_name where id=2;";
$result=mysql_query($action,$link);
while(mysql_fetch_array(...
...
現在替換成
$aray=array(
id=>2
);
//帥氣的高階封裝
$result_array=$sql->SelectAllFromTable($aray);
使用起來方便很多,出錯的機率降低(比如不必再煩惱SQL query忘記打分號了XD),方便做小動作(如強迫所有的query都經過escape),除錯也簡單(寫個script做unit testing即可XD,而且只要物件沒錯通常整個就沒錯XDDD)。
認證物件當然也用了SQL物件,認證的介面也變得很簡單:
//如果smallt可以改課表則傳回true
$auth->UserNameHasAuth("smallt","改課表");
//給smallt管理的權限
$auth->AddAuthToUserNAme("smallt","管理");
比較起來,從前使用者管理的部份根本就是一團漿糊,一大堆奇怪的指令穿插在中間根本不知道幹嘛用orz。放了一個學期以後突然出問題,明明就是我寫的code,可是我真的完全不知道怎麼改囧rz。
現階段有在考慮把code全部打上註解。然後希望未來可以把design pattern的書讀完。 全文連結
星期六, 2月 24, 2007
VirtualBox
灌了Aperio firewall以後MySQL就不對勁,不管用什麼方法,只要一連mysqld-nt.exe,CPU使用率就會飆到100%,然後什麼結果都沒有。重裝Appserv數次或是改用官方的MySQL都是一樣的結果,想說用系學會的機器來寫程式卻又發現那台機器又掛了,想用切片機又擔心會弄出問題,於是腦筋動到虛擬機器上面。
自從VMWare server宣佈免費以後,虛擬機器我都用VMWare,雖然該有的功能都有,可是在我的512MB小機器上面速度真的非常的慢,Guest OS灌好以後連按個開始都會有零點幾秒的delay。總之因為VMWare的使用經驗實在很糟糕,所以我跳槽到剛變成GPL的VirtualBox。
用VirtualBox灌Windows 2003跑起來非常的順暢,舒適性VMWare根本沒辦法比。速度方面VirtualBox完全是遙遙領先。穩定性方面除了跑Sharing folder會當機還有一兩次軟體裝到一半自動停止以外其實運作上沒什麼重大弱點。對於Host的影響方面,VirtualBox不像該死的VMWare會裝一大堆有的沒有的service莫名其妙吃掉一大堆資源。我所知道比較重大的改變就是會裝虛擬網卡的driver來跑Bridged network。除此之外好像對Host沒什麼太大的影響,不像灌VMWare好像是讓機器生吞鈷六十。VirtualBox運作的方式很靈活。除了最標準的開個視窗顯示Guest OS以外,也可以以headless的方式啟動,可以節省一些資源和螢幕空間。執行的時候VirtualBox本身的記憶體使用量也還算OK,一樣都是給GuestOS 128MB的RAM,跑VirtualBox時我可以很順利的打開Firefox,用VMWare的話還得開工作管理員關process擠資源。VirtualBox切入切出全螢幕也很順暢,VMware切入切出全螢幕花費的時間幾乎多到可以去上廁所orz。
VirtualBox目前發現不方便的地方就是UI沒有寫的很完整,很多比較高階的功能,例如新增虛擬網卡或是增加Sharing folder都需要透過command line。不過官網說明清楚的使用者文件彌補了這項缺點。也因為documentation非常詳盡,所以目前沒什麼使用上的疑惑。
虛擬機器現在似乎進入了戰國時代,老牌VMWare server宣佈免費,微軟好像也有免費的virtual PC產品。開放原始碼有Xen,後來QEMU和加速套件也全部GPL了,VirtualBox是GPL,Linux核心也內建了所謂的KVM,當然也是GPL。虛擬機器似乎是一塊蠻值得期待的戰場。 全文連結
自從VMWare server宣佈免費以後,虛擬機器我都用VMWare,雖然該有的功能都有,可是在我的512MB小機器上面速度真的非常的慢,Guest OS灌好以後連按個開始都會有零點幾秒的delay。總之因為VMWare的使用經驗實在很糟糕,所以我跳槽到剛變成GPL的VirtualBox。
用VirtualBox灌Windows 2003跑起來非常的順暢,舒適性VMWare根本沒辦法比。速度方面VirtualBox完全是遙遙領先。穩定性方面除了跑Sharing folder會當機還有一兩次軟體裝到一半自動停止以外其實運作上沒什麼重大弱點。對於Host的影響方面,VirtualBox不像該死的VMWare會裝一大堆有的沒有的service莫名其妙吃掉一大堆資源。我所知道比較重大的改變就是會裝虛擬網卡的driver來跑Bridged network。除此之外好像對Host沒什麼太大的影響,不像灌VMWare好像是讓機器生吞鈷六十。VirtualBox運作的方式很靈活。除了最標準的開個視窗顯示Guest OS以外,也可以以headless的方式啟動,可以節省一些資源和螢幕空間。執行的時候VirtualBox本身的記憶體使用量也還算OK,一樣都是給GuestOS 128MB的RAM,跑VirtualBox時我可以很順利的打開Firefox,用VMWare的話還得開工作管理員關process擠資源。VirtualBox切入切出全螢幕也很順暢,VMware切入切出全螢幕花費的時間幾乎多到可以去上廁所orz。
VirtualBox目前發現不方便的地方就是UI沒有寫的很完整,很多比較高階的功能,例如新增虛擬網卡或是增加Sharing folder都需要透過command line。不過官網說明清楚的使用者文件彌補了這項缺點。也因為documentation非常詳盡,所以目前沒什麼使用上的疑惑。
虛擬機器現在似乎進入了戰國時代,老牌VMWare server宣佈免費,微軟好像也有免費的virtual PC產品。開放原始碼有Xen,後來QEMU和加速套件也全部GPL了,VirtualBox是GPL,Linux核心也內建了所謂的KVM,當然也是GPL。虛擬機器似乎是一塊蠻值得期待的戰場。 全文連結
星期五, 2月 23, 2007
一些動態
從某個沒有電腦、沒有電視的恐怖地區回來以後,我又回到了程式大神的懷抱。
回來第一件事情是把已經鈍鈍的Windows 2003重灌。雖然還沒有出現當機的現象,可是整台機器跑起來就是不順暢,要關機還得手動把全部的應用程式關掉。所以我就花費了很多時間搞重灌。重灌以後整體運作順暢多了XD
寫程式方面,最近最大的改變大概就是Subversion的導入吧。我手邊目前有好幾份程式碼,一份是切片瀏覽器和對應的後端,一份是班網,一份是系學會用的Service。每份code又有好幾個不同的儲存地點。每份code都會有一個目錄,Apache下面一定又會有一份。然後同一份code有時又會出現在好幾個不同的目錄(主要的,暫時的,測試的....)。彼此之間又有錯綜復雜的分支關係(比如給系學會用的程式碼就是從班網分支出去的)。
用手動方式管理程式碼,不過我卻因為懶惰,和這種沒效率的方式相處了一陣子。直到有一天我在改class的時候覺得納悶,奇怪,這個class我記得我加了很多高階封裝啊,怎麼都不見了。疑心之下馬上去搜尋硬碟,赫然發現有一份已經改好的程式碼放在那裡...。於是我就決定去弄Subversion了。Subversion實在非常棒,搭配SVN client,程式碼寫好只要右鍵commit就會有人幫我備份好。從此以後不會有一大堆目錄不曉得怎麼管理。也不必用右鍵壓縮,唯一的遺憾是未來恐怕看不到那種一百個版本的壓縮檔放在同一個目錄的壯觀場面了XD
程式的進度方面,切片沒什麼進展,浮點數誤差好像是官方的bug。班網方面今天不斷的進行認證系統的unit testing,新增/移除使用者和新增/移除權限項目已經OK,接下來就是最困難的使用者和權限的互動了XD。
最近也嘗試了一些新軟體(謎之聲:你就是常常這樣電腦才需要重灌...)。赫然發現netlimiter和ashampoo firewall和我家的Windows蠻搭配的。不過需要注意的是兩個程式會互衝,netlimiter一定要比ashampoo firewall晚裝,不然netlimiter會偵測不到網路。雖然netlimiter裝下去以後ashampoo firewall會抱怨filter driver順序不對,可是其實還是可以用,放行和阻擋應用程式都沒問題。我也試用了一下最新版OpenPCMan,感覺上還有一些bug,不是非常穩定囧。 全文連結
回來第一件事情是把已經鈍鈍的Windows 2003重灌。雖然還沒有出現當機的現象,可是整台機器跑起來就是不順暢,要關機還得手動把全部的應用程式關掉。所以我就花費了很多時間搞重灌。重灌以後整體運作順暢多了XD
寫程式方面,最近最大的改變大概就是Subversion的導入吧。我手邊目前有好幾份程式碼,一份是切片瀏覽器和對應的後端,一份是班網,一份是系學會用的Service。每份code又有好幾個不同的儲存地點。每份code都會有一個目錄,Apache下面一定又會有一份。然後同一份code有時又會出現在好幾個不同的目錄(主要的,暫時的,測試的....)。彼此之間又有錯綜復雜的分支關係(比如給系學會用的程式碼就是從班網分支出去的)。
用手動方式管理程式碼,不過我卻因為懶惰,和這種沒效率的方式相處了一陣子。直到有一天我在改class的時候覺得納悶,奇怪,這個class我記得我加了很多高階封裝啊,怎麼都不見了。疑心之下馬上去搜尋硬碟,赫然發現有一份已經改好的程式碼放在那裡...。於是我就決定去弄Subversion了。Subversion實在非常棒,搭配SVN client,程式碼寫好只要右鍵commit就會有人幫我備份好。從此以後不會有一大堆目錄不曉得怎麼管理。也不必用右鍵壓縮,唯一的遺憾是未來恐怕看不到那種一百個版本的壓縮檔放在同一個目錄的壯觀場面了XD
程式的進度方面,切片沒什麼進展,浮點數誤差好像是官方的bug。班網方面今天不斷的進行認證系統的unit testing,新增/移除使用者和新增/移除權限項目已經OK,接下來就是最困難的使用者和權限的互動了XD。
最近也嘗試了一些新軟體(謎之聲:你就是常常這樣電腦才需要重灌...)。赫然發現netlimiter和ashampoo firewall和我家的Windows蠻搭配的。不過需要注意的是兩個程式會互衝,netlimiter一定要比ashampoo firewall晚裝,不然netlimiter會偵測不到網路。雖然netlimiter裝下去以後ashampoo firewall會抱怨filter driver順序不對,可是其實還是可以用,放行和阻擋應用程式都沒問題。我也試用了一下最新版OpenPCMan,感覺上還有一些bug,不是非常穩定囧。 全文連結
星期四, 2月 22, 2007
星期四, 2月 15, 2007
半正式上線
今天學校老師正式把一部分切片傳上去了,所以我今天就花了不的時間在測試上面。正式的切片和從經理身上拿到的測試切片對Viewer的挑戰還是有所不同。正式版的切片面積更大了。我自己測試用的切片長寬了不起各一兩萬個像素,可是正式切片有五萬乘以十萬那種恐怖的解析度,在這種恐怖的數字下很多程式的缺點都暴露了出來。
首先是我的Viewer會有一層「最低解析度層」拿來當作墊底,在細節還沒載入完的時候就由這層墊底放大提供讀者一點畫面。不過在放大到接近百分之百的時候,這層圖長寬就會長的太離譜,flash就會顯示不出來。根據我自己用測試用project測試的結果,這似乎是flash的問題。不過也不能怪flash。世界上會把一個圖長寬都拉成接近一萬像素的程式本來就不多。
本來我發現把畫面切割成比較多image似乎可以緩解這個問題。譬如如果切割數變兩倍,那原本會拉到一萬像素的圖就會只拉到五千像素,但這樣似乎會造成flash物件數量太多,連我的2.8G電腦都會有點小lag。經過幾番修改以後想想,其實把低解析度的圖拉大並不能真正提供資訊,最後直接把Canvas的底設定成白色,然後故意不修這個bug。顯示不出來,就顯示成白底吧。
切片圖很大的結果就是連切片自己都會出錯。由於圖檔的長寬有多少像素一定是整數。不同版本之間的圖(完整版,長寬1/2縮小版....)天生就有浮點數誤差。在十萬乘以五萬的情形下浮點數誤差就非常明顯,可以差到快接近四五十像素,目前我也不知道要怎麼修...
接下來應該就是一些UI的小改了。比如加個比例尺,用圖形代替簡陋的上下左右文字等。然後可能寫個documentation吧
班網認證的部份,今天開始在寫認證系統unit testing的部份了。還沒正式開始測,不過內容大概都想好了,希望開學前可以把班網修好。
之後這幾天要到台中/台南,兩個程式的進度和blog都可能會stall吧。
切片網
可以去看看喔,裡面有了一個新的teaching slide目錄,裡面滿滿都是切片。讓切片陪你過好年XD 全文連結
首先是我的Viewer會有一層「最低解析度層」拿來當作墊底,在細節還沒載入完的時候就由這層墊底放大提供讀者一點畫面。不過在放大到接近百分之百的時候,這層圖長寬就會長的太離譜,flash就會顯示不出來。根據我自己用測試用project測試的結果,這似乎是flash的問題。不過也不能怪flash。世界上會把一個圖長寬都拉成接近一萬像素的程式本來就不多。
本來我發現把畫面切割成比較多image似乎可以緩解這個問題。譬如如果切割數變兩倍,那原本會拉到一萬像素的圖就會只拉到五千像素,但這樣似乎會造成flash物件數量太多,連我的2.8G電腦都會有點小lag。經過幾番修改以後想想,其實把低解析度的圖拉大並不能真正提供資訊,最後直接把Canvas的底設定成白色,然後故意不修這個bug。顯示不出來,就顯示成白底吧。
切片圖很大的結果就是連切片自己都會出錯。由於圖檔的長寬有多少像素一定是整數。不同版本之間的圖(完整版,長寬1/2縮小版....)天生就有浮點數誤差。在十萬乘以五萬的情形下浮點數誤差就非常明顯,可以差到快接近四五十像素,目前我也不知道要怎麼修...
接下來應該就是一些UI的小改了。比如加個比例尺,用圖形代替簡陋的上下左右文字等。然後可能寫個documentation吧
班網認證的部份,今天開始在寫認證系統unit testing的部份了。還沒正式開始測,不過內容大概都想好了,希望開學前可以把班網修好。
之後這幾天要到台中/台南,兩個程式的進度和blog都可能會stall吧。
切片網
可以去看看喔,裡面有了一個新的teaching slide目錄,裡面滿滿都是切片。讓切片陪你過好年XD 全文連結
星期三, 2月 14, 2007
一個午餐費的故事
有一個叫做小明的人參加公司的活動,公司說有參加活動者都可以直接拿走一百元的午餐費,小明早上一來就拿了這筆錢。中午肚子不大餓他只吃了五十元的國民便當。他的競爭對手指控他盜領午餐費,小明當時不以為意。回答了檢察官幾個問題以後就安心回家了。「不必發票,不必繳回,那錢當然是直接給我啦。」
沒想到小明最後被檢察官起訴了。檢察官說:小明吃午餐明明是十二點,結果小明在九點就領了十二點的午餐津貼,領未來的錢,這是貪污證據之一。小明拿了不必報帳的一百元補貼以後,經查證只有五十元拿去買國民便當,剩下五十元拿去存起來,這是貪污證據之二。小明在偵訊之中供詞反覆,一下子說午餐費是活動用公款的一部分,又突然說午餐費給自己就是私款,前後矛盾不知所云,供詞反覆狡辯明顯,這是貪污證據之三。但是看在小明曾經拿五十元存款中的十元做公益,請求從輕量刑.....
最後小明被抓去關了。他的政敵們皆大歡喜。 全文連結
沒想到小明最後被檢察官起訴了。檢察官說:小明吃午餐明明是十二點,結果小明在九點就領了十二點的午餐津貼,領未來的錢,這是貪污證據之一。小明拿了不必報帳的一百元補貼以後,經查證只有五十元拿去買國民便當,剩下五十元拿去存起來,這是貪污證據之二。小明在偵訊之中供詞反覆,一下子說午餐費是活動用公款的一部分,又突然說午餐費給自己就是私款,前後矛盾不知所云,供詞反覆狡辯明顯,這是貪污證據之三。但是看在小明曾經拿五十元存款中的十元做公益,請求從輕量刑.....
最後小明被抓去關了。他的政敵們皆大歡喜。 全文連結
目前進度
隨著完成度的不斷提昇,切片的進度越來越慢了orz
最近一兩天主要是UI的整理以及增加對瀏覽器顯示大小的偵測。如果各位看官之前有用過本座的程式,那他應該是長得像一個小小的控制盤,上面就醜醜的綠色和幾個小不拉機的控制相,然後透過窄窄的視窗看著大大的切片。
經過重整以後,現在切片是全畫面的,沒錯,填滿整個瀏覽器的可用空間,控制相改成漂浮在切片上(雖然不能拖拉),控制相擺在黑框透明的Canvas上,而Canvas則是背景透明,讓切片直接透過來。今天又加入了偵測畫面大小改變的功能,如果各位看官在使用中把瀏覽器調成全螢幕模式,那麼各位將可以看到塞滿整個螢幕的切片。
之前覺得介面問題沒什麼,可是改了以後整體的觀感完完全全不可同日而語!這點官方的viewer就被拋在後面了,新版的官方viewer仍然遵循小不拉機、管窺蠡測的優良傳統orz,搭配全新推出,在螢幕上直接貼字配色又糟糕的annotation功能,看起來更擠了XD。反正他們大概也看不到這篇文章,就讓勞累的本座自嗨一下唄XDDDDD
除此之外,就是修了幾個小bug,然後資服中心負責的老師也開始和病理老師接觸準備上傳事宜。我這般則是在逼上貼了Open Beta計畫,只是好像大家都回家了沒人鳥我XD。看來還是得一個個問吧XDrz。
切片計畫最近因為進度還有一些私人的原因大概會Stall一陣子,接下來應該會切換到補習、讀病理和班網認證系統unit test作戰計畫。電腦書也希望能把The C++ language多看一些還有把最近到手薄薄的Inside C++ Object model在寒假看完。
傑克,我的寒假實在太充實了XD
各位看官想看看一下吧
全新介面下的切片 全文連結
最近一兩天主要是UI的整理以及增加對瀏覽器顯示大小的偵測。如果各位看官之前有用過本座的程式,那他應該是長得像一個小小的控制盤,上面就醜醜的綠色和幾個小不拉機的控制相,然後透過窄窄的視窗看著大大的切片。
經過重整以後,現在切片是全畫面的,沒錯,填滿整個瀏覽器的可用空間,控制相改成漂浮在切片上(雖然不能拖拉),控制相擺在黑框透明的Canvas上,而Canvas則是背景透明,讓切片直接透過來。今天又加入了偵測畫面大小改變的功能,如果各位看官在使用中把瀏覽器調成全螢幕模式,那麼各位將可以看到塞滿整個螢幕的切片。
之前覺得介面問題沒什麼,可是改了以後整體的觀感完完全全不可同日而語!這點官方的viewer就被拋在後面了,新版的官方viewer仍然遵循小不拉機、管窺蠡測的優良傳統orz,搭配全新推出,在螢幕上直接貼字配色又糟糕的annotation功能,看起來更擠了XD。反正他們大概也看不到這篇文章,就讓勞累的本座自嗨一下唄XDDDDD
除此之外,就是修了幾個小bug,然後資服中心負責的老師也開始和病理老師接觸準備上傳事宜。我這般則是在逼上貼了Open Beta計畫,只是好像大家都回家了沒人鳥我XD。看來還是得一個個問吧XDrz。
切片計畫最近因為進度還有一些私人的原因大概會Stall一陣子,接下來應該會切換到補習、讀病理和班網認證系統unit test作戰計畫。電腦書也希望能把The C++ language多看一些還有把最近到手薄薄的Inside C++ Object model在寒假看完。
傑克,我的寒假實在太充實了XD
各位看官想看看一下吧
全新介面下的切片 全文連結
星期二, 2月 13, 2007
馬英九被起訴之我見
看了一下檢察官起訴馬英九的理由,很多地方真的不能認同。
核銷以後公款流入私帳就是貪污嗎?假如是的話,學生墊錢替學校買東西,報公帳以後錢流入學生的荷包應該也是貪污了。報帳有沒有貪污,應該是看拿什麼東西報帳,陳水扁會被當成貪污的共同正犯,不是因為他把領了錢以後拿來私用,而是因為他拿不存在的消費去領錢。假如拿來報帳的東西確實存在且用於公務,那麼發下來的錢要拿去大吃大喝或是買無敵鐵金剛,應該是任君自便。從沒聽過報了公帳以後錢下來還算公款的,這樣要報帳幹什麼?拿錢來壓枕頭嗎?
根據法律規定,特別費是拿來饋贈、宴請、送紅白包,是搞人情用的。雖然人脈關係是私人的資產,可是不可否認,很多時候首長是為了公務推行順利而刻意去建立人際關係,而既然是為了公務,當然有正當性接受公家補貼。
馬英九沒有把錢用完,也沒有用於公務的證據,帳目不清不楚所以算貪污?饋贈、宴請有時候有發票,有時沒有。買禮盒送給部屬當然有發票,此時可用特別費需要發票的部份核銷。但包紅包給部屬的小孩,邀請部屬去路邊攤哈拉攀交情難道也要的到發票?既然要不到卻又是用於公務,那麼有一筆固定額度,不必發票就可以拿,每個月就是這麼多的特別費補貼,聽起來不會不合理。只有金額會不會太多的制度問題而已。況且制度都說不必支出的證據了,那聽從制度沒留證據怎麼能拿來証明馬英九有罪?
馬英九月初拿錢所以是貪污?首長先用自己的錢去做人情,再用特別費補失血的荷包,或是首長先領這些錢,再從這些錢去做人情。應該都是間接用於公務吧?何來私吞之說?況且這筆錢的性質,是預知首長一個月人情費的補貼。假如我花費五百元於公務,上級要求實報實銷我卻說六百元,那當然是貪污一百元。但假如我加班公司給了一百元誤餐費卻沒有要求實報實銷。那麼我只吃五十元的國民便當,拿走剩下的五十元公司也不會告我貪污。我去吃兩百元的高級料理,多出來的錢公司也不會認帳。公司沒有要求報帳意思就是概括補貼,而概括補貼就是多不退,少不補。而特別費給首長用卻又不要求實報實銷,除了概括補貼我想不出別的解釋。
整體而言,整個起訴最大的問題,就是不合常識的「核銷入袋了也算公款」以及自我矛盾的「不必報帳也要舉證」。公務員向長官說他要買東西,請長官先放十萬元「現金」在他那邊「墊著」,長官有可能答應?公款哪有可能這樣給?不必報帳的錢也要舉證,那以後公司給車馬費,即使不要求實報實銷,恐怕也得向計程車司機要發票了。不必實報實銷,意思就是錢就是這麼多,盈虧自負,而錢進了我的帳戶,意思就是給我。 全文連結
核銷以後公款流入私帳就是貪污嗎?假如是的話,學生墊錢替學校買東西,報公帳以後錢流入學生的荷包應該也是貪污了。報帳有沒有貪污,應該是看拿什麼東西報帳,陳水扁會被當成貪污的共同正犯,不是因為他把領了錢以後拿來私用,而是因為他拿不存在的消費去領錢。假如拿來報帳的東西確實存在且用於公務,那麼發下來的錢要拿去大吃大喝或是買無敵鐵金剛,應該是任君自便。從沒聽過報了公帳以後錢下來還算公款的,這樣要報帳幹什麼?拿錢來壓枕頭嗎?
根據法律規定,特別費是拿來饋贈、宴請、送紅白包,是搞人情用的。雖然人脈關係是私人的資產,可是不可否認,很多時候首長是為了公務推行順利而刻意去建立人際關係,而既然是為了公務,當然有正當性接受公家補貼。
馬英九沒有把錢用完,也沒有用於公務的證據,帳目不清不楚所以算貪污?饋贈、宴請有時候有發票,有時沒有。買禮盒送給部屬當然有發票,此時可用特別費需要發票的部份核銷。但包紅包給部屬的小孩,邀請部屬去路邊攤哈拉攀交情難道也要的到發票?既然要不到卻又是用於公務,那麼有一筆固定額度,不必發票就可以拿,每個月就是這麼多的特別費補貼,聽起來不會不合理。只有金額會不會太多的制度問題而已。況且制度都說不必支出的證據了,那聽從制度沒留證據怎麼能拿來証明馬英九有罪?
馬英九月初拿錢所以是貪污?首長先用自己的錢去做人情,再用特別費補失血的荷包,或是首長先領這些錢,再從這些錢去做人情。應該都是間接用於公務吧?何來私吞之說?況且這筆錢的性質,是預知首長一個月人情費的補貼。假如我花費五百元於公務,上級要求實報實銷我卻說六百元,那當然是貪污一百元。但假如我加班公司給了一百元誤餐費卻沒有要求實報實銷。那麼我只吃五十元的國民便當,拿走剩下的五十元公司也不會告我貪污。我去吃兩百元的高級料理,多出來的錢公司也不會認帳。公司沒有要求報帳意思就是概括補貼,而概括補貼就是多不退,少不補。而特別費給首長用卻又不要求實報實銷,除了概括補貼我想不出別的解釋。
整體而言,整個起訴最大的問題,就是不合常識的「核銷入袋了也算公款」以及自我矛盾的「不必報帳也要舉證」。公務員向長官說他要買東西,請長官先放十萬元「現金」在他那邊「墊著」,長官有可能答應?公款哪有可能這樣給?不必報帳的錢也要舉證,那以後公司給車馬費,即使不要求實報實銷,恐怕也得向計程車司機要發票了。不必實報實銷,意思就是錢就是這麼多,盈虧自負,而錢進了我的帳戶,意思就是給我。 全文連結
星期一, 2月 12, 2007
唉唉
由於補習班EH系列的片子228就要下架了,所以我趕緊改聽解剖。趙大師火力之熊猛果然和林老師差一個檔次,一堂課三個半小時不說,中間還要加上畫圖(不過好加在因為我聽過一遍所以圖也大概畫過一遍就是了),講話速度超快、廢話超少加上用字每個字都高度壓縮。最後一小時買來的$20樂事洋芋片和$38 1250cc超大冰紅茶都彈盡援絕,整個人被趙大師的超高速解剖刺拳打的頭昏腦脹,覺得受不了就回家了。
回家當然又是寫程式了,仔細想想昨天認證系統的implementation,雖然說沒辦法做binary search,可是程式好寫(for迴圈一下子就解決了),老師好理解(不必和複雜的系統奮鬥),維護容易(就用FTP傳個文字檔到正確的目錄,應該簡單到不行了吧orz)。如果改用資料庫的話要寫很多程式,老師也要適應我的程式,而且感覺上一個new就嫌貴了,用網路去連MySQL,加個查詢然後再用網路回傳結果,加上在n=150的小樣本情況下其實binary search發揮不了多少優勢,搞不好我直接loop還比較快一點。
今天寫程式最主要是在寫給班網用的認證系統,之前舊的班網,我大部分的時間都在改學長的code。學長的code看得出比較抄短線。程式碼沒有用物件就算了(其實物件在PHP裡的角色還是有一點點爭議),竟然整分程式碼(不是一個檔案喔,是全部)連一個function都沒有XDD,這實在太猛了XDD。看來學長寫這個可能時間很倉促吧。不過我對學長還是非常感謝的,即使要重排code,學長的幫助也非常大,沒有學長班網恐怕寒假生不出來吧。總之當時就是用我鳥鳥的物件概念/design pattern(其實現在還是非常鳥,想讀的書還是沒讀完orz)把code refactor一番,然後生搬硬架弄了個認證系統。該認證系統可以運作,事後想想我覺得非常神奇。這種慘不忍睹的生化變異綜合體竟然可以維持到一個學期才爆掉,這也算是不可思議吧。總之就是那個認證系統現在爆了。
這幾天我就在構思新的認證系統了。我盡可能把東西弄成抽象的物件和SQL動作。因為認證系統其實畢竟都可以reduce成「使用者/密碼/Session」和「權限/使用者ID」的互動,而後者又可以reduce成兩個字串的互動(如:CanDelete v.s 1#2#3#8)。雖然我功力還是不高,不過目前這分code看起來還是比以前那份鳥code好很多。目前目標就是構思一些細節,比如我的抽象物件要如何才能抽象表達使用者增減,如何能和Presention tier做比較有效的整合。當然不斷的debug和refine也是有。
這個寒假是個「充實」的寒假。看MSN上上線人數不斷遞減,暱稱不斷出現「北京遇到XXX」這類幸福的字眼。當兩個都是熟人的班對在美麗的夜景下互相依偎的時候。我在研究如何和Data tier溝通。當同班好友在遊覽名勝風景,感受那歷史和自然交織的震撼氣息,我在改class做unit testing。別人在翻閱村上村樹,我在log堆裡面游泳,人家回家團員,我去和學校開會。別人悠閒地看網頁,打逼,我在不同的Server之間切來切去。別人KTV開心的唱歌,我卻對著螢幕喃喃自語。別人晚餐餐廳開心的哈拉,我帶著疲憊的心一個人寫部落格。不過忙程式還是比忙背共筆好玩很多就是了XD 全文連結
回家當然又是寫程式了,仔細想想昨天認證系統的implementation,雖然說沒辦法做binary search,可是程式好寫(for迴圈一下子就解決了),老師好理解(不必和複雜的系統奮鬥),維護容易(就用FTP傳個文字檔到正確的目錄,應該簡單到不行了吧orz)。如果改用資料庫的話要寫很多程式,老師也要適應我的程式,而且感覺上一個new就嫌貴了,用網路去連MySQL,加個查詢然後再用網路回傳結果,加上在n=150的小樣本情況下其實binary search發揮不了多少優勢,搞不好我直接loop還比較快一點。
今天寫程式最主要是在寫給班網用的認證系統,之前舊的班網,我大部分的時間都在改學長的code。學長的code看得出比較抄短線。程式碼沒有用物件就算了(其實物件在PHP裡的角色還是有一點點爭議),竟然整分程式碼(不是一個檔案喔,是全部)連一個function都沒有XDD,這實在太猛了XDD。看來學長寫這個可能時間很倉促吧。不過我對學長還是非常感謝的,即使要重排code,學長的幫助也非常大,沒有學長班網恐怕寒假生不出來吧。總之當時就是用我鳥鳥的物件概念/design pattern(其實現在還是非常鳥,想讀的書還是沒讀完orz)把code refactor一番,然後生搬硬架弄了個認證系統。該認證系統可以運作,事後想想我覺得非常神奇。這種慘不忍睹的生化變異綜合體竟然可以維持到一個學期才爆掉,這也算是不可思議吧。總之就是那個認證系統現在爆了。
這幾天我就在構思新的認證系統了。我盡可能把東西弄成抽象的物件和SQL動作。因為認證系統其實畢竟都可以reduce成「使用者/密碼/Session」和「權限/使用者ID」的互動,而後者又可以reduce成兩個字串的互動(如:CanDelete v.s 1#2#3#8)。雖然我功力還是不高,不過目前這分code看起來還是比以前那份鳥code好很多。目前目標就是構思一些細節,比如我的抽象物件要如何才能抽象表達使用者增減,如何能和Presention tier做比較有效的整合。當然不斷的debug和refine也是有。
這個寒假是個「充實」的寒假。看MSN上上線人數不斷遞減,暱稱不斷出現「北京遇到XXX」這類幸福的字眼。當兩個都是熟人的班對在美麗的夜景下互相依偎的時候。我在研究如何和Data tier溝通。當同班好友在遊覽名勝風景,感受那歷史和自然交織的震撼氣息,我在改class做unit testing。別人在翻閱村上村樹,我在log堆裡面游泳,人家回家團員,我去和學校開會。別人悠閒地看網頁,打逼,我在不同的Server之間切來切去。別人KTV開心的唱歌,我卻對著螢幕喃喃自語。別人晚餐餐廳開心的哈拉,我帶著疲憊的心一個人寫部落格。不過忙程式還是比忙背共筆好玩很多就是了XD 全文連結
星期日, 2月 11, 2007
認證完成
今天寫程式相對比較輕鬆,主要就是完成了登入/認證的部份。
認證這種東西理想上是用MySQL來寫,然後PHP用MySQL function去call他,可是這樣一來我就要寫資料庫建構,資料庫管理,多重目錄存取這些比較複雜的東西,說實在話時間並不是很充裕。所以我就很黑心的用很暴力的寫法,每個資料夾下面都會有個auth.txt,如果這檔案不存在,系統就會判定這是大眾開放切片庫,倘若存在,那麼登入以後就來個fopen然後來個linear search,倘若找到帳號名稱那就認證通過囉。這種方法好處就是施工超容易,而且名單生產只需要記事本,認證管理和FTP完全整合(用FTP傳上去放到對的目錄即可),真是帥呆了@@
這種寫法當然有缺點啦,想也知道資料庫一定至少會做Binary Search的優化,不過在小規模的系統上,n=150的O(n)和O(logn)應該不會造成太恐怖的差別吧,我想。還是說明天頭腦清楚點再重新用資料庫寫個良心版吧...
切片列表,test目錄下的1009.svs現在要本校醫學四年級學生的帳號才能進去喔XDrz
至於那個Viewer,重要的bug應該都清得差不多了,接下來就是加功能而已吧...
點我看切片 全文連結
認證這種東西理想上是用MySQL來寫,然後PHP用MySQL function去call他,可是這樣一來我就要寫資料庫建構,資料庫管理,多重目錄存取這些比較複雜的東西,說實在話時間並不是很充裕。所以我就很黑心的用很暴力的寫法,每個資料夾下面都會有個auth.txt,如果這檔案不存在,系統就會判定這是大眾開放切片庫,倘若存在,那麼登入以後就來個fopen然後來個linear search,倘若找到帳號名稱那就認證通過囉。這種方法好處就是施工超容易,而且名單生產只需要記事本,認證管理和FTP完全整合(用FTP傳上去放到對的目錄即可),真是帥呆了@@
這種寫法當然有缺點啦,想也知道資料庫一定至少會做Binary Search的優化,不過在小規模的系統上,n=150的O(n)和O(logn)應該不會造成太恐怖的差別吧,我想。還是說明天頭腦清楚點再重新用資料庫寫個良心版吧...
切片列表,test目錄下的1009.svs現在要本校醫學四年級學生的帳號才能進去喔XDrz
至於那個Viewer,重要的bug應該都清得差不多了,接下來就是加功能而已吧...
點我看切片 全文連結
星期五, 2月 09, 2007
Bug一枚
之前切片程式看切片的時候,經過連續跳躍,常常左邊和上面的邊界會莫名其妙消失,而且按Reload無效。之前推想過很多的可能性,比如image和canvas之間的互動有問題,圖片傳送中發生損壞,可是都不是正確解答,浪費了我無數的時間。
剛剛總算把原因追出來了,用HTTP GET parameter一個個慢慢試的結果,我發現Aperio ImageServer 7.0在高縮放(如縮小成1/32)的情況下,左邊和上面的邊界偵測會不正常。理論上我要求左上角為(-10,-10),長寬各為20的圖的時候,超出邊界的部份全部雪白的情況下,要回來的圖應該右下角1/4會是有東西的,可是在很高倍的情形下Aperio ImageServer會出錯直接傳一個全白的圖給我。知道原因以後,要圖的時候對座標進行一點模除修正問題就解決了。從此以後看圖不再漏邊,歐耶。
UI的部份大體解決了,現在正在研究認證orz 全文連結
剛剛總算把原因追出來了,用HTTP GET parameter一個個慢慢試的結果,我發現Aperio ImageServer 7.0在高縮放(如縮小成1/32)的情況下,左邊和上面的邊界偵測會不正常。理論上我要求左上角為(-10,-10),長寬各為20的圖的時候,超出邊界的部份全部雪白的情況下,要回來的圖應該右下角1/4會是有東西的,可是在很高倍的情形下Aperio ImageServer會出錯直接傳一個全白的圖給我。知道原因以後,要圖的時候對座標進行一點模除修正問題就解決了。從此以後看圖不再漏邊,歐耶。
UI的部份大體解決了,現在正在研究認證orz 全文連結
星期四, 2月 08, 2007
Directory Listing
今天弄出老師要求的目錄列表功能。
本來的方案是由遠端Server去和ImageServer要html,然後用文字替換法把連結替換掉。但花了很多時間和他官方的APML相處以後就放棄了,很難搞懂他內部的運作規則和一些奇怪的東西。後來在這裡找到了目錄列表的PHP原始碼,抓回來以後。加了對Get Parameter的一些檢查和切片縮圖的功能以後就讓他上線了。這個步驟花大概不到一小時吧,比研究官方的鳥APML經濟划算多多。而且PHP功能和結構比Aperio自己開發的鳥script好用熟悉太多了。
唯一的缺憾就是那個Script產生的網頁實在不是普通的醜,加上因為他PHP code和HTML是鑲嵌在一起的,我根本不大敢做大更動,所以切片縮圖的功能我用很暴力的方式放了進去。長出來的網頁就像這樣。看起來實在很心虛XD。假如老師不滿意的話,我再想辦法用Smarty幫他修一下。不過現在要忙認證功能就是了。
今天終於聯絡到負責我那台機器硬體管理的Ted學長了。結果硬碟並不是被學長拔走拿去灌切片,而是SCSI controller讀不到RAID。學長說要拿去給廠商,我很爽快的說拿橡皮擦對金屬的部份擦一擦,可以排除一大部分的接觸不良。「我家音效卡都這樣處理」「你家的音效卡價值一百萬元嗎?」,我大驚,詢問之下,原來那個被我拿來當作玩具的1.5T硬碟價值如此之高昂@@......
今天程式寫到這。 全文連結
本來的方案是由遠端Server去和ImageServer要html,然後用文字替換法把連結替換掉。但花了很多時間和他官方的APML相處以後就放棄了,很難搞懂他內部的運作規則和一些奇怪的東西。後來在這裡找到了目錄列表的PHP原始碼,抓回來以後。加了對Get Parameter的一些檢查和切片縮圖的功能以後就讓他上線了。這個步驟花大概不到一小時吧,比研究官方的鳥APML經濟划算多多。而且PHP功能和結構比Aperio自己開發的鳥script好用熟悉太多了。
唯一的缺憾就是那個Script產生的網頁實在不是普通的醜,加上因為他PHP code和HTML是鑲嵌在一起的,我根本不大敢做大更動,所以切片縮圖的功能我用很暴力的方式放了進去。長出來的網頁就像這樣。看起來實在很心虛XD。假如老師不滿意的話,我再想辦法用Smarty幫他修一下。不過現在要忙認證功能就是了。
今天終於聯絡到負責我那台機器硬體管理的Ted學長了。結果硬碟並不是被學長拔走拿去灌切片,而是SCSI controller讀不到RAID。學長說要拿去給廠商,我很爽快的說拿橡皮擦對金屬的部份擦一擦,可以排除一大部分的接觸不良。「我家音效卡都這樣處理」「你家的音效卡價值一百萬元嗎?」,我大驚,詢問之下,原來那個被我拿來當作玩具的1.5T硬碟價值如此之高昂@@......
今天程式寫到這。 全文連結
抓蟲
不久前又抓到一個和顯示橢圓形有關的臭蟲,我把flex drawEllipse四個參數的定義搞錯了。可是神奇的是這個超級大Bug以前並沒有暴露出來。各位看官以後寫程式要謹記著「Bug會互相掩護」這個血淚的教訓。
另外一個,應該是昨天的事情了。本來我用flex API畫圖的時候都要自己做邊界檢查,不然圖都會跑出來。矩形還好,可以自己修座標把超過邊界的部份剪掉,可是像橢圓形,不規則形那些東西,就算把我的肝臟和腦袋拿出來擠,我也沒辦法很快寫出來吧。好加在去mmug詢問的結果,認真熱血又強大的Ticore大神告訴我DisplayObject.scrollRect這個屬性可以指定clipping的邊界。設定、除錯以後把自己的邊界檢查拿掉,很開心的看見Flex幫我做clipping。當時高興的想大叫,本來應該紀錄的,不過忘了,這裡補上XD
過了這麼久,連結應該都沉底了,然後有一個圖硬碟拔掉我重傳的過程中有corruption,也重傳了,連結如下,有興趣的去玩玩看吧XD
切片一
切片二
兩個切片應該都會有Annotation才對,如果沒有,那就是HTTPService沒有讀完,請按重新整理。 全文連結
另外一個,應該是昨天的事情了。本來我用flex API畫圖的時候都要自己做邊界檢查,不然圖都會跑出來。矩形還好,可以自己修座標把超過邊界的部份剪掉,可是像橢圓形,不規則形那些東西,就算把我的肝臟和腦袋拿出來擠,我也沒辦法很快寫出來吧。好加在去mmug詢問的結果,認真熱血又強大的Ticore大神告訴我DisplayObject.scrollRect這個屬性可以指定clipping的邊界。設定、除錯以後把自己的邊界檢查拿掉,很開心的看見Flex幫我做clipping。當時高興的想大叫,本來應該紀錄的,不過忘了,這裡補上XD
過了這麼久,連結應該都沉底了,然後有一個圖硬碟拔掉我重傳的過程中有corruption,也重傳了,連結如下,有興趣的去玩玩看吧XD
切片一
切片二
兩個切片應該都會有Annotation才對,如果沒有,那就是HTTPService沒有讀完,請按重新整理。 全文連結
星期三, 2月 07, 2007
今天的生活
今天在國考補習班,中午吃完飯,拿著$20元的統一麥香紅茶要晃進補習班大樓電梯的時候,剛好碰到大嘴巴克萊芮亞,電腦大王R大,還有豹女三個一起走出來。經過一些對話框事件以後,我得知了開學要考病理完全複習考 之恐怖噩耗。
今天回家,照往例又是繼續寫程式了。昨天氣功鍊完以後把玩著Viewer,赫然發現裡面三層圖和Annotation(就是畫面上的橢圓、正方形那些)竟然會對不起來,打開官方的ImageScope瀏覽器,發現他Annotation和我Viewer的物件顯示位置竟然不同。昨晚晚上邊睡邊想,反覆推敲以後,我認為我用的公式在數學上應該都沒有錯誤。那麼唯一的錯誤來源應該就是浮點運算的誤差了。
話說Viewer裡面總共有三個座標系,第一個是切片的100%座標系(完全座標),第二個是縮小圖的座標系(縮小座標,舉個例:切片完全座標系的(100,100)對應到長寬0.5倍圖的(50,50)),第三個是藉由縮放以後在螢幕上產生的縮放後座標系(螢幕座標)。程式內部三者常常相互轉換。螢幕座標的向量除以放大倍率就變成縮小座標上的向量,縮小座標向量乘以當初縮小的倍數(如:2、4...)就變成完全座標上的向量。然後計算出這麼多的座標以後,再來個不清不楚關係複雜的函數呼叫,然後那些函數本身又可能換算座標,結果浮點數運算誤差好像就越來越大了。
今天我就施展了作晚睡覺時在床上想到的奧義,所有的函數呼叫,參數一律都是完全座標,一大堆Class內部儲存座標的變數全部砍掉,只留下唯一的Controller內部保有當前座標值,透過Singleton暴露給所有需要的人,一大堆雜七雜八的整理和除錯之後,螢幕上的物件就很神奇的對的起來了。
接下來就是一直做minor bug fix,不過到目前為止,切片邊界重繪有時仍然不是很正常。
趕快去做Directory Listing的部份吧。XML Parser我來囉T_T 全文連結
今天回家,照往例又是繼續寫程式了。昨天氣功鍊完以後把玩著Viewer,赫然發現裡面三層圖和Annotation(就是畫面上的橢圓、正方形那些)竟然會對不起來,打開官方的ImageScope瀏覽器,發現他Annotation和我Viewer的物件顯示位置竟然不同。昨晚晚上邊睡邊想,反覆推敲以後,我認為我用的公式在數學上應該都沒有錯誤。那麼唯一的錯誤來源應該就是浮點運算的誤差了。
話說Viewer裡面總共有三個座標系,第一個是切片的100%座標系(完全座標),第二個是縮小圖的座標系(縮小座標,舉個例:切片完全座標系的(100,100)對應到長寬0.5倍圖的(50,50)),第三個是藉由縮放以後在螢幕上產生的縮放後座標系(螢幕座標)。程式內部三者常常相互轉換。螢幕座標的向量除以放大倍率就變成縮小座標上的向量,縮小座標向量乘以當初縮小的倍數(如:2、4...)就變成完全座標上的向量。然後計算出這麼多的座標以後,再來個不清不楚關係複雜的函數呼叫,然後那些函數本身又可能換算座標,結果浮點數運算誤差好像就越來越大了。
今天我就施展了作晚睡覺時在床上想到的奧義,所有的函數呼叫,參數一律都是完全座標,一大堆Class內部儲存座標的變數全部砍掉,只留下唯一的Controller內部保有當前座標值,透過Singleton暴露給所有需要的人,一大堆雜七雜八的整理和除錯之後,螢幕上的物件就很神奇的對的起來了。
接下來就是一直做minor bug fix,不過到目前為止,切片邊界重繪有時仍然不是很正常。
趕快去做Directory Listing的部份吧。XML Parser我來囉T_T 全文連結
星期二, 2月 06, 2007
繼續用力寫
唉唉,最近的blog都變成趕工日記了,可是現在就真的都是在寫這個東西啊。現在每天的生活大概就是1.早上睡飽,大趕工或是2.補習回來,趕工。大概可以稍微體會DNA在台南這幾年都在幹些什麼啊,雖然我還沒到達他「把電腦關起來很幸福」「快樂看日出」的程度orz
今天繼續和UI的部份纏鬥,Drag and Drop完成,Thumbnail完成,功能和官方的Viewer應該相差無幾了。接下來應該就是修UI慢慢發現的bug還有拼後端的部份了吧。現階段後端的要求大概就是目錄列表,接下來就是一直碎碎念可是實際上半個字都沒寫的使用者認證和管理T.T
這幾天一直抓Bug抓到瘋掉,昨天開會和老師demo的時候,viewer都還是好的,但是晚上回來開始加東加西以後,彷彿我打破了什麼微妙的平衡,整個code突然間就整個不對勁,跳躍、Annotation一下子全部壞掉了 >"< 害我昨天debug弄到兩點,還被媽媽大人唸了一下叫我趕快去睡覺orz
今天還發生奇怪的事件,就在我把viewer上傳然後用網路看的很開心的時候,突然間縮放的功能又自動壞掉了,突然間不會自動載入比較放大的版本,把viewer切到本機模式卻又一切正常。中間一大堆過程省略,最後發現是ImageServer的問題,重開機以後問題還在,想說會不會是切片檔corrupt掉了,結果檔案總管一開,放切片的那顆1.5T硬碟不見了@@。詭異的是為甚麼我的viewer還有一部分可以繼續跑,難道是cache大神顯靈(拜學校的transparent proxy之賜,在學校看自己的blog的時候可以看到三天前的版本)?或是我的code真的有生命力(根據kochi的說法,我以前趨勢大賽寫UI的時候,某部份的code砍掉以後對應的功能還是能動@@)
之前給的連結應該還是有用,只是要先等我把檔案傳完。 全文連結
今天繼續和UI的部份纏鬥,Drag and Drop完成,Thumbnail完成,功能和官方的Viewer應該相差無幾了。接下來應該就是修UI慢慢發現的bug還有拼後端的部份了吧。現階段後端的要求大概就是目錄列表,接下來就是一直碎碎念可是實際上半個字都沒寫的使用者認證和管理T.T
這幾天一直抓Bug抓到瘋掉,昨天開會和老師demo的時候,viewer都還是好的,但是晚上回來開始加東加西以後,彷彿我打破了什麼微妙的平衡,整個code突然間就整個不對勁,跳躍、Annotation一下子全部壞掉了 >"< 害我昨天debug弄到兩點,還被媽媽大人唸了一下叫我趕快去睡覺orz
今天還發生奇怪的事件,就在我把viewer上傳然後用網路看的很開心的時候,突然間縮放的功能又自動壞掉了,突然間不會自動載入比較放大的版本,把viewer切到本機模式卻又一切正常。中間一大堆過程省略,最後發現是ImageServer的問題,重開機以後問題還在,想說會不會是切片檔corrupt掉了,結果檔案總管一開,放切片的那顆1.5T硬碟不見了@@。詭異的是為甚麼我的viewer還有一部分可以繼續跑,難道是cache大神顯靈(拜學校的transparent proxy之賜,在學校看自己的blog的時候可以看到三天前的版本)?或是我的code真的有生命力(根據kochi的說法,我以前趨勢大賽寫UI的時候,某部份的code砍掉以後對應的功能還是能動@@)
之前給的連結應該還是有用,只是要先等我把檔案傳完。 全文連結
星期日, 2月 04, 2007
用性命趕工orz
今天沒有去補習,又是用性命換取進度的一天。
第一件事情就是加入了環境切換的功能,首先在Singleton裡面加入一個global boolean,表明現在是在本機開發還是實際上線。再來就是把所有會連網的地方都加入對這個boolean的判斷,如果是true,就連本機,否則就連遠端。
在本機跑的好處,除了不必每改一點東西就用FTP上傳之外,本機執行發生錯誤的話Flash Player會跳出視窗回報,相反的,遠端執行假如出錯,Flash Player會silently fall。所以今天上午一直在做「加入print("kero")->看看會不會出現->會的話刪掉print換下一個地方」,直到我改到本機才不必做這種事情。雖然我很討厭Flash Player譙我,可是在無數的Silent fall之後,看到Flash player會跳出錯誤視窗反而有種高興的感覺。
第二件事情就是開始加入Annotation,Annotation困難在於如何呼叫HTTPService,如何用AS處理XML,XML帶來的新物件和資料結構的熟悉,繪圖API入門這些問題,今天一番奮戰,實做出了橢圓形,明天應該可以順利加入其他的形狀。至於使用者認證的部份,應該就拿班網的儲備用new code拿來改改吧orz,總之認證的部份不會太難就是了。
昨天發佈的連結還是可以用,只是他常常會跳出很多討厭的除錯訊息,那是我加進去的,未來正式版就不會有這些東西。如果各位看官覺得煩,按一下Clear鈕那些東西就會不見了XD 全文連結
第一件事情就是加入了環境切換的功能,首先在Singleton裡面加入一個global boolean,表明現在是在本機開發還是實際上線。再來就是把所有會連網的地方都加入對這個boolean的判斷,如果是true,就連本機,否則就連遠端。
在本機跑的好處,除了不必每改一點東西就用FTP上傳之外,本機執行發生錯誤的話Flash Player會跳出視窗回報,相反的,遠端執行假如出錯,Flash Player會silently fall。所以今天上午一直在做「加入print("kero")->看看會不會出現->會的話刪掉print換下一個地方」,直到我改到本機才不必做這種事情。雖然我很討厭Flash Player譙我,可是在無數的Silent fall之後,看到Flash player會跳出錯誤視窗反而有種高興的感覺。
第二件事情就是開始加入Annotation,Annotation困難在於如何呼叫HTTPService,如何用AS處理XML,XML帶來的新物件和資料結構的熟悉,繪圖API入門這些問題,今天一番奮戰,實做出了橢圓形,明天應該可以順利加入其他的形狀。至於使用者認證的部份,應該就拿班網的儲備用new code拿來改改吧orz,總之認證的部份不會太難就是了。
昨天發佈的連結還是可以用,只是他常常會跳出很多討厭的除錯訊息,那是我加進去的,未來正式版就不會有這些東西。如果各位看官覺得煩,按一下Clear鈕那些東西就會不見了XD 全文連結
星期六, 2月 03, 2007
星期四, 2月 01, 2007
讀中時社論有感
原始新聞
讀了「大法官,勇敢點」一文對大法官很多指責,有一些想法實在不吐不快。
「大法官又不是立委,在人權議題上,曲從民意做什麼?」大法官當然有服從民意的理由,而且理由非常嚴肅。
大法官的職責,就是根據憲法保障人民的權利。但是人民的權利常常互相衝突,無法兩全其美(比如徵收古老建築當古蹟可以促進文化,卻可能讓被徵收者跳腳)。大法官為了達到權利的最大保障,自然必須適度壓抑對人民較不重要的權利,而取對人民較為重要的權利加以保障(公共利益優先,故政府徵收土地合憲,不過要給錢補償就是了)。而哪種憲法上的權利對人民比較重要,不是應該問人民嗎?不是應該問民意嗎?保障人民的重要權利,就是大法官有義務問人民,順從民意的第一項理由。
大法官的產生過程,以我國來說是總統提名,國會同意。大法官本身並沒有直接民意的基礎,但所作出來的釋憲文,卻可以推翻有民意基礎的國會決策和行政決策。假如大法官不必遵守民意,那豈不是允許國家少數人以自己的獨斷意志推翻人民間接的決策?這樣大法官和專制國王有什麼兩樣?大法官制度可以存在,是為了監督政府,避免政府違反記載於憲法的最高民意。而不是開一道究極的權力之門,讓少數人可以獨裁。簡而言之,我國是民主國家,這是大法官必須服從民意的第二項理由。
大法官宣告死刑合憲,真的是因為保守懦弱?反對死刑者常說死刑犯也是人,人人應該平等。可是,死刑固然剝奪了死刑犯的人權,但不這樣做哪能補償受害人?一個真正平等的社會,一定會允許受害人向被害人索取和被侵害權利相等的補償,在法治國家則是由人民授權政府代替執行。從這個角度來看,政府替枉死的被害人向加害人索取被侵害權利的等值品:加害人的生命(也就是一般人說的「還一個公道」),不知道怎樣違反了人人平等的原則?不允許被害人向加害人要求等值補償,怎麼看都是加害人的人權高人一等,不知「反死刑」要如何和「保障平等」劃上等號?我是這麼想,我想大法官也是這麼想,才會宣告死刑合憲。所以大法官宣告死刑合憲,絕對不是退縮懦弱保守無能,而是有一套是非道德的。希望反對死刑的人,不要因為自己「只聞死刑犯在笑,不聞被害人痛哭」的理論沒有被大法官採納,就隨便批評大法官。 全文連結
讀了「大法官,勇敢點」一文對大法官很多指責,有一些想法實在不吐不快。
「大法官又不是立委,在人權議題上,曲從民意做什麼?」大法官當然有服從民意的理由,而且理由非常嚴肅。
大法官的職責,就是根據憲法保障人民的權利。但是人民的權利常常互相衝突,無法兩全其美(比如徵收古老建築當古蹟可以促進文化,卻可能讓被徵收者跳腳)。大法官為了達到權利的最大保障,自然必須適度壓抑對人民較不重要的權利,而取對人民較為重要的權利加以保障(公共利益優先,故政府徵收土地合憲,不過要給錢補償就是了)。而哪種憲法上的權利對人民比較重要,不是應該問人民嗎?不是應該問民意嗎?保障人民的重要權利,就是大法官有義務問人民,順從民意的第一項理由。
大法官的產生過程,以我國來說是總統提名,國會同意。大法官本身並沒有直接民意的基礎,但所作出來的釋憲文,卻可以推翻有民意基礎的國會決策和行政決策。假如大法官不必遵守民意,那豈不是允許國家少數人以自己的獨斷意志推翻人民間接的決策?這樣大法官和專制國王有什麼兩樣?大法官制度可以存在,是為了監督政府,避免政府違反記載於憲法的最高民意。而不是開一道究極的權力之門,讓少數人可以獨裁。簡而言之,我國是民主國家,這是大法官必須服從民意的第二項理由。
大法官宣告死刑合憲,真的是因為保守懦弱?反對死刑者常說死刑犯也是人,人人應該平等。可是,死刑固然剝奪了死刑犯的人權,但不這樣做哪能補償受害人?一個真正平等的社會,一定會允許受害人向被害人索取和被侵害權利相等的補償,在法治國家則是由人民授權政府代替執行。從這個角度來看,政府替枉死的被害人向加害人索取被侵害權利的等值品:加害人的生命(也就是一般人說的「還一個公道」),不知道怎樣違反了人人平等的原則?不允許被害人向加害人要求等值補償,怎麼看都是加害人的人權高人一等,不知「反死刑」要如何和「保障平等」劃上等號?我是這麼想,我想大法官也是這麼想,才會宣告死刑合憲。所以大法官宣告死刑合憲,絕對不是退縮懦弱保守無能,而是有一套是非道德的。希望反對死刑的人,不要因為自己「只聞死刑犯在笑,不聞被害人痛哭」的理論沒有被大法官採納,就隨便批評大法官。 全文連結
星期二, 1月 30, 2007
繼續努力
昨天和今天的主要行程就是補習班聽生理和寫程式,程式寫到快爆炸orz
這兩天為了解決「圖片換檔畫面會全白」的問題,必須在主要Canvas的正後方再放一個Canvas專門放低解析度版的圖。昨天就很阿莎莉直接開Flex暴力加一個新的Class下去,一不小心就把物件之間的關係弄的烏煙瘴氣,整份程式碼的流程變得難以索解,除錯到晚上也沒什麼進展。冷靜想想這樣不是辦法,就頭一次狠下心來解壓縮備份的程式碼....
各位看官假如有寫程式,千萬要記得「右鍵->壓縮到」這個好習慣,然後一大堆不一樣版本的程式碼就存成一大堆不一樣的檔名就可以了,不要覆蓋。程式設計師的預測能力畢竟有個限度,有時可能寫了很多東西才發現從幾天前開始整個方向就錯了,或是刪了不該刪的東西需要很久以前的某個class,這時候有一大堆版本的程式碼就變得非常好用,好像有了小叮噹的時光機一樣啊XD。當然,按備份的時機也很重要,做重大feature addition之前一定要備份這是當然,殺一堆蟲以後備份一下也不錯XD
今天補習回來第一件事情就是把程式碼該弄成Singleton的東西全部變成Singleton,然後去Google才發現之前我搞錯了,原來Flex還是直接支援呼叫class的靜態方法,但是用的是dot operator而不是C++設計師慣用的Scope operator。雖然還是沒辦法克服「A constructor can only be declared public」這個難題,不過程式就我一個人在寫,也不會有死白目去new singleton。(Update:有人提出這個辦法,不過算了懶得去改XD)
把東西變成很多Singleton然後再把某肥大Class拆開以後事情就好辦很多,加了Singleton雖然浮現出一先不同Singleton之間dependency的問題,但是卻砍了很多「SetXXXXX」這些沒有重大意義又會把流程弄複雜的function。接下來加了換檔緩衝和除錯以後,我的Viewer和官方的Viewer比起來,除了沒有按縮圖跳躍和根據Annotation跳畫面的功能以外剩下應該都差不多一樣了。。一個類似Google Map的程式就被我這樣完成了XDDDDD
快要二月了,必須趕快設法寫出把切片從網路上拉回來的部份還有Annotation的部份才行orz 全文連結
這兩天為了解決「圖片換檔畫面會全白」的問題,必須在主要Canvas的正後方再放一個Canvas專門放低解析度版的圖。昨天就很阿莎莉直接開Flex暴力加一個新的Class下去,一不小心就把物件之間的關係弄的烏煙瘴氣,整份程式碼的流程變得難以索解,除錯到晚上也沒什麼進展。冷靜想想這樣不是辦法,就頭一次狠下心來解壓縮備份的程式碼....
各位看官假如有寫程式,千萬要記得「右鍵->壓縮到」這個好習慣,然後一大堆不一樣版本的程式碼就存成一大堆不一樣的檔名就可以了,不要覆蓋。程式設計師的預測能力畢竟有個限度,有時可能寫了很多東西才發現從幾天前開始整個方向就錯了,或是刪了不該刪的東西需要很久以前的某個class,這時候有一大堆版本的程式碼就變得非常好用,好像有了小叮噹的時光機一樣啊XD。當然,按備份的時機也很重要,做重大feature addition之前一定要備份這是當然,殺一堆蟲以後備份一下也不錯XD
今天補習回來第一件事情就是把程式碼該弄成Singleton的東西全部變成Singleton,然後去Google才發現之前我搞錯了,原來Flex還是直接支援呼叫class的靜態方法,但是用的是dot operator而不是C++設計師慣用的Scope operator。雖然還是沒辦法克服「A constructor can only be declared public」這個難題,不過程式就我一個人在寫,也不會有死白目去new singleton。(Update:有人提出這個辦法,不過算了懶得去改XD)
把東西變成很多Singleton然後再把某肥大Class拆開以後事情就好辦很多,加了Singleton雖然浮現出一先不同Singleton之間dependency的問題,但是卻砍了很多「SetXXXXX」這些沒有重大意義又會把流程弄複雜的function。接下來加了換檔緩衝和除錯以後,我的Viewer和官方的Viewer比起來,除了沒有按縮圖跳躍和根據Annotation跳畫面的功能以外剩下應該都差不多一樣了。。一個類似Google Map的程式就被我這樣完成了XDDDDD
快要二月了,必須趕快設法寫出把切片從網路上拉回來的部份還有Annotation的部份才行orz 全文連結
星期日, 1月 28, 2007
繼續前進
明天就要再度和上級見面,理論上今天應該是火速趕工才對,可是今天整個人卻很糟。
最近這幾天隔壁都在裝潢,所以早上我睡覺的時候電鑽的聲音狂響,半睡半醒折騰到十一點半起來,想說時間太晚就沒有去補習,就吃飯、看卡通迷迷糊糊到達下午。
下午開始以非常沒有效率的速度,半休息,半前進的繼續修改程式。前幾天瘋狂的加入功能,今天最主要都是在修Bug,因為我空間觀念很差,所以很多重要的係數計算我都會算錯,應該乘的弄成除,應該r'-r我弄成r-r',該倒數的沒倒數,邊界計算到處出錯。一堆Bug加在一起就造成圖會亂跳的結果,一下子圖破掉啦,一下子畫面變成全白啦,種種靈異現象,背後原因都錯綜復雜,只能一邊改Bug一邊期盼怪事會消失>"<
今天修改比較大的東西是Debug,之前Debug靠的是一個萬能的TextArea Control到處傳來傳去,哪個Class需要用到這個TextArea,就在那個Class挖個洞加個可以把TextArea Reference傳進去的Function,然後不一樣的Class之間又常常互傳那個Reference。結果到後來Debug就弄的很不方便,就花了一點時間寫了個Singleton把那個TextArea包起來。不過可能是我對Flash/Flex/ActionScript不大熟以及語言本身的限制,我在用Classname::Static method這樣的syntax時會Runtime直接報錯,寫Constructor的時候Flex帥氣的告訴我「Constructor must be public」,囧,那我還singleton個頭啊orz(Google上說這好像是AS3新加的規矩orz),但是Class內部加靜態變數這件事還做得到。所以結局就是我寫了一個要用new取得pointer,可是還是可以Get唯一Instance的詭異Singleton <囧>
今天還是有不錯的成績,把Debugger加強以後就抓到很多的東西,比如把小數點傳到只吃integer的Aperio Image Server(平常他竟然給我過@@a),弄好以後似乎就沒有看到捲動會有殘影破圖了(Update:其實還是有orz),大大小小的邊界計算錯誤更是修復無數。
現在比較大的一些缺點,就是畫面捲動碰到切片邊界的時候處理的不是很好,圖片換檔的時候會有空白畫面,螢幕會閃,還有一些雜七雜八的問題。
其實目前進度還算是不錯的XD。至少可以放大縮小捲動換檔,明天見到上級的時候有東西可以開心的炫耀,去要對學校其實是小錢,卻已經積欠我三個月的每個月四千元薪水也可以理直氣壯些XD(他說2/7一定會下來,不過之前已經有n次「保證」了orz)
接下來就是讓換檔Smooth一點,然後加入切片說明功能,再加入和遠端Server溝通機制,在真正會delay,會斷線的網路上測試,逐步邁向RTM之路。不過在此之前,又是得把已經被我改到亂七八糟的Code來個Refactoring。Refactoring這招很方便啊,可以邊整理邊發現bug,可以讓未來架構更清楚,可以逼自己看自己以前的code把自己拉回原點,可以邊refactoring邊聽音樂邊想接下來要怎麼寫XD)
唉唉,班網都還沒動靜耶>"< 全文連結
最近這幾天隔壁都在裝潢,所以早上我睡覺的時候電鑽的聲音狂響,半睡半醒折騰到十一點半起來,想說時間太晚就沒有去補習,就吃飯、看卡通迷迷糊糊到達下午。
下午開始以非常沒有效率的速度,半休息,半前進的繼續修改程式。前幾天瘋狂的加入功能,今天最主要都是在修Bug,因為我空間觀念很差,所以很多重要的係數計算我都會算錯,應該乘的弄成除,應該r'-r我弄成r-r',該倒數的沒倒數,邊界計算到處出錯。一堆Bug加在一起就造成圖會亂跳的結果,一下子圖破掉啦,一下子畫面變成全白啦,種種靈異現象,背後原因都錯綜復雜,只能一邊改Bug一邊期盼怪事會消失>"<
今天修改比較大的東西是Debug,之前Debug靠的是一個萬能的TextArea Control到處傳來傳去,哪個Class需要用到這個TextArea,就在那個Class挖個洞加個可以把TextArea Reference傳進去的Function,然後不一樣的Class之間又常常互傳那個Reference。結果到後來Debug就弄的很不方便,就花了一點時間寫了個Singleton把那個TextArea包起來。不過可能是我對Flash/Flex/ActionScript不大熟以及語言本身的限制,我在用Classname::Static method這樣的syntax時會Runtime直接報錯,寫Constructor的時候Flex帥氣的告訴我「Constructor must be public」,囧,那我還singleton個頭啊orz(Google上說這好像是AS3新加的規矩orz),但是Class內部加靜態變數這件事還做得到。所以結局就是我寫了一個要用new取得pointer,可是還是可以Get唯一Instance的詭異Singleton <囧>
今天還是有不錯的成績,把Debugger加強以後就抓到很多的東西,比如把小數點傳到只吃integer的Aperio Image Server(平常他竟然給我過@@a),弄好以後似乎就沒有看到捲動會有殘影破圖了(Update:其實還是有orz),大大小小的邊界計算錯誤更是修復無數。
現在比較大的一些缺點,就是畫面捲動碰到切片邊界的時候處理的不是很好,圖片換檔的時候會有空白畫面,螢幕會閃,還有一些雜七雜八的問題。
其實目前進度還算是不錯的XD。至少可以放大縮小捲動換檔,明天見到上級的時候有東西可以開心的炫耀,去要對學校其實是小錢,卻已經積欠我三個月的每個月四千元薪水也可以理直氣壯些XD(他說2/7一定會下來,不過之前已經有n次「保證」了orz)
接下來就是讓換檔Smooth一點,然後加入切片說明功能,再加入和遠端Server溝通機制,在真正會delay,會斷線的網路上測試,逐步邁向RTM之路。不過在此之前,又是得把已經被我改到亂七八糟的Code來個Refactoring。Refactoring這招很方便啊,可以邊整理邊發現bug,可以讓未來架構更清楚,可以逼自己看自己以前的code把自己拉回原點,可以邊refactoring邊聽音樂邊想接下來要怎麼寫XD)
唉唉,班網都還沒動靜耶>"< 全文連結
多重換檔
今天寫了「換檔」的功能。所謂「換檔」,就是同一張切片系統可能有存不同的版本,完全版的,1/16縮小版的,1/64縮小版的等等。理論上當使用者放大倍率沒調很高的時候,應該是向後端要縮小版的然後自己縮放就好了,不必去要比較大的圖然後縮小浪費網路這樣。而所謂「換檔」工作就是一樣的畫面,隨著使用者放大縮小的不同動態切換不同的版本。
文中用了「寫了」而非「寫出」就代表事情不是很順利orz。雖然說「換檔」這個最大的難題被我「大略」寫出來了,可是今天測試的時候才發現很多奇怪的小問題。包括連續快速Zoom in,Zoom out以後畫面會神奇的破掉,捲動快的時候畫面的邊緣會無法更新,某些時候畫面會神奇的飄移到不存在的地方。這些都是今天還沒解決,我也比較沒有頭緒的。本來想說來個亂石打鳥,把記憶體改大看問題是不是在這,結果也不是orz。
明天補習完回家的工作,應該就是寫個正式一點的Debug Object,搞個吃字串的Singleton讓所有的Class都可以寫,然後介面升級一下,加些方便編輯的小功能(如按個鈕就可以清掉全部的除錯訊息之類的,希望有那種按了就可以除掉全部錯誤的按鈕XD),然後再到處亂試吧orz
禮拜一就要向老師報告了orz 全文連結
文中用了「寫了」而非「寫出」就代表事情不是很順利orz。雖然說「換檔」這個最大的難題被我「大略」寫出來了,可是今天測試的時候才發現很多奇怪的小問題。包括連續快速Zoom in,Zoom out以後畫面會神奇的破掉,捲動快的時候畫面的邊緣會無法更新,某些時候畫面會神奇的飄移到不存在的地方。這些都是今天還沒解決,我也比較沒有頭緒的。本來想說來個亂石打鳥,把記憶體改大看問題是不是在這,結果也不是orz。
明天補習完回家的工作,應該就是寫個正式一點的Debug Object,搞個吃字串的Singleton讓所有的Class都可以寫,然後介面升級一下,加些方便編輯的小功能(如按個鈕就可以清掉全部的除錯訊息之類的,希望有那種按了就可以除掉全部錯誤的按鈕XD),然後再到處亂試吧orz
禮拜一就要向老師報告了orz 全文連結
星期五, 1月 26, 2007
跳躍功能完成
今天又是一個安寧的日子。
這個家庭的女主人下午出去了,家裏面剩下一個人,一張椅子,一台電腦。
螢幕上開著孤寂的Flex IDE。一張表情穩重帶著安祥氣息的臉,一個充滿深刻線條的心靈,交互起落的手指,敲擊發出喀答喀答聲響的鍵盤,清脆的聲音迴盪於幾近無聲的空氣之中。螢幕上不斷出現12號字英文字母,搭配不時的刪除和區塊移動。男人不時的清喉嚨,有時雙手合握,有時在小小的房間之中踱步徘徊,但大部分的時間,男人都用他那略帶乾澀的眼睛,盯著螢幕。
總而言之,剛剛那個故事就是今天我一個人一整天都關在家裏面寫程式T_T。
今天做的第一件事情,就是把昨天提到過有如死肥豬般的某個Class分家變成兩個Class,順便為了日後的需要,把Object Pool從一個小小的暫存變數替代方案變成一個獨立的Class,裡面包含了某個非常高效率的超強資料結構,用於物件的回收與重新使用(謎之聲:我~呸!不過就是個隨處可見的cyclic queue而已)。之後就是把一大堆小變數用getter代替(愛死getter囉XD),加上一點正名的工作,把變數和方法的名稱改的更符合目的,避免和即將加入的東西重複或混淆這樣。
今天比較主要的feature addition就是加了動態跳躍的功能,可以打個座標然後讓整張畫面直接跳過去,算是官方沒有的功能(寫到這裡,想想突然也覺得這不是什麼了不起的feature,汗)。不過寫這個功能最主要的目的是為了以後可以在不同圖之間「換檔」,算是一個前置性的功能吧...
突然發現我對切片的移動距離其實計算有問題,未來有空再順路修正,然後想辦法實做出「換檔」這個算是程式寫好以來第二個大task吧orz(第一個就是從百廢待舉中寫出一個程式)。
明天一定要去補習啊orz看來用鬧鐘把自己叫起來卡實在orz 全文連結
這個家庭的女主人下午出去了,家裏面剩下一個人,一張椅子,一台電腦。
螢幕上開著孤寂的Flex IDE。一張表情穩重帶著安祥氣息的臉,一個充滿深刻線條的心靈,交互起落的手指,敲擊發出喀答喀答聲響的鍵盤,清脆的聲音迴盪於幾近無聲的空氣之中。螢幕上不斷出現12號字英文字母,搭配不時的刪除和區塊移動。男人不時的清喉嚨,有時雙手合握,有時在小小的房間之中踱步徘徊,但大部分的時間,男人都用他那略帶乾澀的眼睛,盯著螢幕。
總而言之,剛剛那個故事就是今天我一個人一整天都關在家裏面寫程式T_T。
今天做的第一件事情,就是把昨天提到過有如死肥豬般的某個Class分家變成兩個Class,順便為了日後的需要,把Object Pool從一個小小的暫存變數替代方案變成一個獨立的Class,裡面包含了某個非常高效率的超強資料結構,用於物件的回收與重新使用(謎之聲:我~呸!不過就是個隨處可見的cyclic queue而已)。之後就是把一大堆小變數用getter代替(愛死getter囉XD),加上一點正名的工作,把變數和方法的名稱改的更符合目的,避免和即將加入的東西重複或混淆這樣。
今天比較主要的feature addition就是加了動態跳躍的功能,可以打個座標然後讓整張畫面直接跳過去,算是官方沒有的功能(寫到這裡,想想突然也覺得這不是什麼了不起的feature,汗)。不過寫這個功能最主要的目的是為了以後可以在不同圖之間「換檔」,算是一個前置性的功能吧...
突然發現我對切片的移動距離其實計算有問題,未來有空再順路修正,然後想辦法實做出「換檔」這個算是程式寫好以來第二個大task吧orz(第一個就是從百廢待舉中寫出一個程式)。
明天一定要去補習啊orz看來用鬧鐘把自己叫起來卡實在orz 全文連結
星期四, 1月 25, 2007
繼續奮戰數位切片
持續奮戰之後,總算把Zooming也寫好了。
不過數位切片不止於此,存.svs的時候為了方便網路傳輸,所以一張.svs裡面存了同切片的不同版本,thumbnail版,1/64版,1/16版,1/4版,完全大小版之類的。而我現在是停留在同一大小版做放大縮小。下一階段就是做到可以動態換檔 + 隨機跳躍,不過這兩個問題其實是一為二,二為一就是了。
程式碼寫到這裡已經開始瘋狂膨脹,負責整體控制的LayoutController肥的像豬一樣,裡面負責捲動的主要函式也有ShowDataOnCanvas化的跡象(twsam和DNA看到這句話想必會有錐心之痛吧XD DNA名言:「我改你的code改到半夜的時候,還可以看到你的臉從螢幕浮出來狂笑」),所以接下來的階段,應該是設法把LayoutController整理一下,來個refactoring,再做出動態換檔 + 隨機跳躍,之後就是文字描述切片和使用者互動,再來把一些當初hardwire的部份拆掉,跟各科老師橋一下說不定就可以上線了orz
今天程式寫到這裡,都沒讀醫學書,明天應該早起去補習T_T。 全文連結
不過數位切片不止於此,存.svs的時候為了方便網路傳輸,所以一張.svs裡面存了同切片的不同版本,thumbnail版,1/64版,1/16版,1/4版,完全大小版之類的。而我現在是停留在同一大小版做放大縮小。下一階段就是做到可以動態換檔 + 隨機跳躍,不過這兩個問題其實是一為二,二為一就是了。
程式碼寫到這裡已經開始瘋狂膨脹,負責整體控制的LayoutController肥的像豬一樣,裡面負責捲動的主要函式也有ShowDataOnCanvas化的跡象(twsam和DNA看到這句話想必會有錐心之痛吧XD DNA名言:「我改你的code改到半夜的時候,還可以看到你的臉從螢幕浮出來狂笑」),所以接下來的階段,應該是設法把LayoutController整理一下,來個refactoring,再做出動態換檔 + 隨機跳躍,之後就是文字描述切片和使用者互動,再來把一些當初hardwire的部份拆掉,跟各科老師橋一下說不定就可以上線了orz
今天程式寫到這裡,都沒讀醫學書,明天應該早起去補習T_T。 全文連結
數位切片突破
今天一直研究Memory leak的問題,有一些小發現:
首先,Actionscript的delete很奇怪,不能對class的fixed member執行delete,只能對動態加入的資料成員進行delete。如果各位看官熟C++的話,那麼fixed member和吾人一般在C++看到的class member似乎並無差別,而dynamic member,根據我對Adobe Labs和Livedocs的印象,似乎是在class的內部偷偷塞個Map,然後動態增加member就是把pointer塞進那個map,存取的時候自然就是查map。dynamic member好處是自由度高,壞處當然就是複雜度和不可預測性囉(誰知道某物件在某時間的某member是不是當初宣告的樣子?), Actionscript之所以會有這些讓吾輩C++設計師覺得怪異的東西,其實是因為Actioscript 3同時實作了prototype-based OOP和Class-based OOP。但因為我的程式沒有使用到繼承,所以細節我就不清楚了(沒錯,沒用到就不必去讀那部份的資料,這就是趕工啊orz)。
話題轉回delete這件事情上面。根據Google大神的資料顯示,Actionscript就算成功delete了某個reference,其實資源並不會馬上釋放,而是要等每隔一段時間才來一次的Garbage Collection和Mark and sweep大駕光臨,做一些Reference Counting檢查和很耗成本的BFS之後,資源才有再度解放的可能。用白話文說,不管你把reference設成null也好(不要和C++的reference搞混orz),用delete摧毀他也好,記憶體就是不還你就對了(我至今還沒看過Garbage Collection大駕光臨啊)。
難道使用本座作品的人就得面對每秒鐘記憶體消失1%的命運?
後來靈光一閃,突然間很想大罵自己是笨蛋,用Object Pool就好了嘛!馬上自己用一些小變數和一些不漂亮的寫法實做了出來。歐耶!再也不會吸乾記憶體了!
寫的好累,去運動一下,下一個目標就是Zooming! 全文連結
首先,Actionscript的delete很奇怪,不能對class的fixed member執行delete,只能對動態加入的資料成員進行delete。如果各位看官熟C++的話,那麼fixed member和吾人一般在C++看到的class member似乎並無差別,而dynamic member,根據我對Adobe Labs和Livedocs的印象,似乎是在class的內部偷偷塞個Map,然後動態增加member就是把pointer塞進那個map,存取的時候自然就是查map。dynamic member好處是自由度高,壞處當然就是複雜度和不可預測性囉(誰知道某物件在某時間的某member是不是當初宣告的樣子?), Actionscript之所以會有這些讓吾輩C++設計師覺得怪異的東西,其實是因為Actioscript 3同時實作了prototype-based OOP和Class-based OOP。但因為我的程式沒有使用到繼承,所以細節我就不清楚了(沒錯,沒用到就不必去讀那部份的資料,這就是趕工啊orz)。
話題轉回delete這件事情上面。根據Google大神的資料顯示,Actionscript就算成功delete了某個reference,其實資源並不會馬上釋放,而是要等每隔一段時間才來一次的Garbage Collection和Mark and sweep大駕光臨,做一些Reference Counting檢查和很耗成本的BFS之後,資源才有再度解放的可能。用白話文說,不管你把reference設成null也好(不要和C++的reference搞混orz),用delete摧毀他也好,記憶體就是不還你就對了(我至今還沒看過Garbage Collection大駕光臨啊)。
難道使用本座作品的人就得面對每秒鐘記憶體消失1%的命運?
後來靈光一閃,突然間很想大罵自己是笨蛋,用Object Pool就好了嘛!馬上自己用一些小變數和一些不漂亮的寫法實做了出來。歐耶!再也不會吸乾記憶體了!
寫的好累,去運動一下,下一個目標就是Zooming! 全文連結
星期三, 1月 24, 2007
數位切片工作進度
其實之前就寫出了一個可以進行捲動,但是有嚴重bug的瀏覽程式,自己看了頗為心虛XD。這兩天第一件工作就是Refactoring。
稍微在紙上規劃大概要怎麼切原本的程式碼以後,把原本「大一統」的程式碼拆成三份物件,前端的UI負責把指令傳給後端的Controller,然後Controller再遙控一個個獨立的影像物件。
經過一段和Flex Package系統和Flex物件導向的磨合期以後,在Flex compiler不斷的碎碎唸之下總算把程式有驚無險的分開成物件了。模組化以後事情就好辦很多,一下子就把四個方向的捲動都寫出來了。這裡講起來都很輕描淡寫,但這兩天寫到快抓狂啊orz
但現在自己測試,發現有非常嚴重的Memory leak,捲動按鈕大概每按一秒記憶體就消失1%,用沒多久系統就動到虛擬記憶體然後lag的要死,Flash不是有Garbage Collection嗎?怎麼我去官網查一下赫然發現有delete這個keyword(/ˋ__ˊ)/╩═════╩。不過對於問題的可能所在,我心中大概有譜orz
睡個覺,明天繼續寫O.O 全文連結
稍微在紙上規劃大概要怎麼切原本的程式碼以後,把原本「大一統」的程式碼拆成三份物件,前端的UI負責把指令傳給後端的Controller,然後Controller再遙控一個個獨立的影像物件。
經過一段和Flex Package系統和Flex物件導向的磨合期以後,在Flex compiler不斷的碎碎唸之下總算把程式有驚無險的分開成物件了。模組化以後事情就好辦很多,一下子就把四個方向的捲動都寫出來了。這裡講起來都很輕描淡寫,但這兩天寫到快抓狂啊orz
但現在自己測試,發現有非常嚴重的Memory leak,捲動按鈕大概每按一秒記憶體就消失1%,用沒多久系統就動到虛擬記憶體然後lag的要死,Flash不是有Garbage Collection嗎?怎麼我去官網查一下赫然發現有delete這個keyword(/ˋ__ˊ)/╩═════╩。不過對於問題的可能所在,我心中大概有譜orz
睡個覺,明天繼續寫O.O 全文連結
我怎麼活下來的?(本blog第六百篇\(^o^)/)
這篇目的是回答Howl網友的讀者投書XD
我怎麼活下來的?
秘訣就在「強迫進化」四個字。當考試的攻擊力道已經改變,舊有戰術已經無法面對嶄新的局面,「不改變就會死」的情況下,生命就是會自己找到出路。
我大二的時候是原文主義者,共筆只是拿回來擺好看的,一天看幾個小時最後乾眼症。那時看共筆的同學考的只是還好。
到了大三上,從大體解剖學開始,就變成連共筆都背不完的現象,光是把骨頭上面全部的地標背起來然後能夠分出哪個屬於哪個(如:下列哪個構造屬於medial cranial fossa?),就可以搞死一個人(我大三第一次解剖考試就這樣死的)。不過後來我的記憶力不知道為甚麼很神奇的自動上升,後來我又習慣把共筆作成整理表的形式,大三的考試就這樣過了。
到了大三下,共筆多到我已經來不及做整理表了,就用不同顏色熒光筆做重點,每次考前總是可以剛好劃完,然後唸過一遍,看過一遍考古題以後,考試都可以用成績pass。
到了大四上,共筆更多,多到我連熒光筆劃重點都越來越來不及,考前有時勉強劃完一遍,可是這樣根本等於沒有唸。還是有人神到電話簿看一遍就可以記起來的?連考古都來不及看完,成績變成班上很後面。到最後乾脆不劃重點,可是因此可以多看好幾遍,結果成績反而高些。雖然最後淪落到都是靠老師加分在pass的
當然,白癡口訣(例:泰拳功夫很凶狠,打碎別人的LP==>泰國肝吸蟲睪丸是深裂狀,中國功夫有發勁更厲害,敵人LP被打成稀巴爛==>中華肝吸蟲睪丸珊瑚狀 又例:曼陀珠一次只能吃一發,不然會太胖==> Mantle zone T cell lymphoma 為t(14,18))、聯想記憶、針對老師出題方法進行準備方式最佳化,硬背考古題這種基本到不能再基本的東西,就算啟發有先後,也是大家都學會了。
聽大五學長說,大四期末考一千一百多頁,份量方面只是小菜一碟,考試內容又都是老師教過的XD。大五期中考曾經有總份量兩千八百頁的紀錄,而且醫師都出很專業上課沒教的題目=口=,聽學長說他們現在唸書的速度一天兩百頁算是非常慢。考前問答:「你剩下幾本?」「十四本」「唉呦你真是神人啊!」「你呢?」「二十五本」「嗯,速度大概比平均值快一些」「你呢?」「三十七本」「那你要好好加油了。」那時候要怎麼進化,我就不知道了XD
希望寒假能學會右腦開發啊>"< 全文連結
我怎麼活下來的?
秘訣就在「強迫進化」四個字。當考試的攻擊力道已經改變,舊有戰術已經無法面對嶄新的局面,「不改變就會死」的情況下,生命就是會自己找到出路。
我大二的時候是原文主義者,共筆只是拿回來擺好看的,一天看幾個小時最後乾眼症。那時看共筆的同學考的只是還好。
到了大三上,從大體解剖學開始,就變成連共筆都背不完的現象,光是把骨頭上面全部的地標背起來然後能夠分出哪個屬於哪個(如:下列哪個構造屬於medial cranial fossa?),就可以搞死一個人(我大三第一次解剖考試就這樣死的)。不過後來我的記憶力不知道為甚麼很神奇的自動上升,後來我又習慣把共筆作成整理表的形式,大三的考試就這樣過了。
到了大三下,共筆多到我已經來不及做整理表了,就用不同顏色熒光筆做重點,每次考前總是可以剛好劃完,然後唸過一遍,看過一遍考古題以後,考試都可以用成績pass。
到了大四上,共筆更多,多到我連熒光筆劃重點都越來越來不及,考前有時勉強劃完一遍,可是這樣根本等於沒有唸。還是有人神到電話簿看一遍就可以記起來的?連考古都來不及看完,成績變成班上很後面。到最後乾脆不劃重點,可是因此可以多看好幾遍,結果成績反而高些。雖然最後淪落到都是靠老師加分在pass的
當然,白癡口訣(例:泰拳功夫很凶狠,打碎別人的LP==>泰國肝吸蟲睪丸是深裂狀,中國功夫有發勁更厲害,敵人LP被打成稀巴爛==>中華肝吸蟲睪丸珊瑚狀 又例:曼陀珠一次只能吃一發,不然會太胖==> Mantle zone T cell lymphoma 為t(14,18))、聯想記憶、針對老師出題方法進行準備方式最佳化,硬背考古題這種基本到不能再基本的東西,就算啟發有先後,也是大家都學會了。
聽大五學長說,大四期末考一千一百多頁,份量方面只是小菜一碟,考試內容又都是老師教過的XD。大五期中考曾經有總份量兩千八百頁的紀錄,而且醫師都出很專業上課沒教的題目=口=,聽學長說他們現在唸書的速度一天兩百頁算是非常慢。考前問答:「你剩下幾本?」「十四本」「唉呦你真是神人啊!」「你呢?」「二十五本」「嗯,速度大概比平均值快一些」「你呢?」「三十七本」「那你要好好加油了。」那時候要怎麼進化,我就不知道了XD
希望寒假能學會右腦開發啊>"< 全文連結
星期二, 1月 23, 2007
寫卡片
鄭校長是我國中時期的輔導主任,當時我人際關係處的不是很好(其實現在看起來能力也沒多少,還是一樣碰到熟人就黏住然後嘴炮一堆,比較生疏的人就有一句沒一句甚至根本不敢講話>"<),很大的部份是靠鄭校長幫助過關的,畢業以後維持每年一定寄信給他的習慣,不過習慣電腦的我突然間用手寫這麼多字,手寫到快斷是真的XD
--內文--
鄭校長您好:
又是一年過去了,本來這張卡片應該是在聖誕節送到您手中,不過由於當時正值期末考水深火熱時期,所以這張卡片就被我暫時擱著了,還請校長寬宏大量,別把無知小朋友的過錯放在心上。
寒假過後就是大四下學期。和大三下比起來,大四上來了號稱「一科敵十科」的病理學,功課比大三下累很多、讀書的功夫也厲害很多。遙想大三下的時候,共同筆記我平常一天只能背完二三十頁,考試前大飆車熬夜讀神經解剖學,也僅有一天一百頁的速度,考微生物免疫學那次,從考前一天早上十點念到隔天早上六點中間只有吃飯、洗澡當作休息只睡半小時,也只是背了兩百八十幾頁。但考試還算安心。
但是到了大四就不一樣了,共同筆記是以一天五十頁以上的速度在發行的,雖然沒有大三下一個禮拜十二個小時大體解剖學實驗的體力負擔,可是唸書的時間卻比大三下多了好幾倍,現在常常一回家就坐在書桌前面唸書唸到我媽叫我不要唸,明明一天唸書的速度已經提升到一天可以硬背五六十頁以上,考試前熬夜卻只有越加厲害,一個禮拜三天不睡覺突然間變成很正常的事。一個期末考全部的考試範圍,以共同筆記計算高達一千一百多頁,全部都是需要硬背的東西(如藥物的名字、某種疾病和第幾對染色體有關等),而「我會不會被當掉啊」也成為揮之不去的夢魘。大三下過關靠成績夠,大四上靠名次勉強夠,靠老師不願意一次當太多人加分大放送。唸到最後自己受不了,在媽媽的建議跑去看精神科,好險只是焦慮,還沒病。還想說乾脆去重考算了,最後在和媽媽深談及朋友勸告下(「喂!別想不開!大四了耶」)才打消念頭。
今年大四下的暑假就要面對第一次醫生國家考試,雖然學校特地為了國家考試把課程縮減到一個禮拜只上四天課,不過還要自己複習大學學過的所有東西,應該會比上學期更累吧。
至於課業以外的事項嘛,我沒有女朋友,沒有感情和失戀問題,社團只是跑去彈鋼琴和打嘴炮,完全沒有擔任任何領導性質的幹部,課餘最大的興趣和幸福就是打電動和寫程式還有看程式設計的原文書,還接了一個替學校寫程式,略為複雜的工作,一個月還有四千元的薪水可以領一年。寫到這裡才忽然想起來,我還得了九十五年度全國大專電腦軟體設計競賽乙組全國冠軍,我自己一個人一隊就把所有參賽者全部幹掉了,超級開心啊(雖然其實乙組全國也只有九隊....),總之除了課業以外,過的很愉快。
不知道鄭校長您那邊狀況如何?白目學生會很多嗎?過的順不順利?希望校長秉持當年初衷,繼續拿愛的鐵鞭痛打那些白目學生,只是現在白目學生有人本白目基金會做好朋友,痛打的時候記得把他們拖去廁所,別被看見了。 全文連結
星期一, 1月 22, 2007
寄蟲讀書心得
雖然說期末報告這種東西,理論上是不大具有紀念價值的,不過我自己也很少寫出如此唬爛的文章。一本薄薄的大便書竟然讓我唬出兩千兩百多字,值得紀念。我自己讀之,尚且遮面搖頭。觀眾讀之,不知會有何反應?如此一把狗血,一把眼淚之鉅作,實罕見也XD。
--正文開始--
這次讀書心得報告我選擇的是「大便書」。
這本書最大的特色就是以幽默風趣的插畫,介紹日常生活中大多數人都覺得很噁心的大便。其實就專業內容來說,這本大便書並不會超過醫學系的共筆和教科書,甚至還少蠻多的。但是這本書的獨特之處並不在於他呈現的某些醫學知識,而是他呈現的方式還有對於大便背後的省思。
一般來說教科書看起來都很專業、令人敬畏、厚重飽滿。厚厚一大疊一打開就是紙漿和墨水混合書本年齡的強烈氣味撲鼻而來,搭配密密麻麻的字體和怵目驚心複雜無比的圖片,還沒開始閱讀已經全身發抖想要向書跪拜。但我拿到這本大便書的時候。不會比CD唱片還大許多的大小,封面顏色溫和、平易近人卻又故意帶著一點大便黃綠色,但卻不會讓人感到噁心。封面可愛逗趣的插畫帶著溫馨的氣息,即使是為了做報告而去圖書館借這本書,卻不會有嫌惡的感覺。
內容的呈現也充滿溫馨可愛的風格,黃色和綠色的配色一樣彰顯著大便的主題,插畫家寄藤文平功力深厚的筆下,描繪出許多可愛會說話的大便先生擔任旁白解說或是情境對話、穿著白衣進行專業大便製造卻常常有人罷工的大便工廠,述說著身體故障的時候大便會出什麼問題,稻穗、太陽、自然等插畫加上發人深省的筆觸描述大便和大自然的關係。樸素簡單卻又言簡意賅的各種卡通統計圖適當的烘托出書本一開始許多關於大便的統計,比如全世界一年的大便疊起來會多高多長之類的。種種資料引用和充滿思考意境的對話,透過可愛的方式呈現大便的另一面。
一般人都認為大便是骯髒、污穢、噁心、應該丟棄的。但是我們有多少人有想過要是大便不存在會有什麼後果?自然界重要的有機、無機循環被打斷了。平常吃的稻米消失了,我們人體無法把很多骯髒的廢物排泄出去了,就某些角度而言,日常生活甚至不能沒有大便。
看大便書我首先想到我國古代的水肥文化。以前沒有化學肥料的時代,肥料的主要來源就是水肥:發酵過的大便。古代廁所採用所謂的「茅坑」,挖個大洞中間兩條木版,如廁的人蹲在中間排便,一不小心還會掉進去。累積足量的糞便以後就由農夫裝糞統拿來施肥種菜,古代的稻米和蔬菜、水果就是在無數人類和動物的大便之中種植出來的。其實就連現代社會也有使用大便作肥料呢!淡水的污水處理廠,將混有人類大便和動物大便的污水進行沈降處理以後,產生的廢渣一個主要用途就是加工製成肥料,然後低價賣給農民。你我每天吃的菜,搞不好就有隔壁老王的大便在裡面。看了大便書想到這些,不知道應當是說噁心呢,還是說大便對於我國飲食文化真的功不可沒。沒了這些大便,你我還真的沒這麼多新鮮蔬果和稻米農作可吃。
大便也是自然界有機無機循環的重要部份,動物的能量來自植物,植物的能量來自土地,土地的能量從何而來?固然,書本上也有海底岩石無機鹽溶解以後被潮汐、雨水帶到陸地上的說法,但只是一直開採新的來源,總有一天有機物、無機物的來源是會枯竭的!所幸動物其實也是會把物質還給大地的,除了動物死亡的屍體被細菌分解以外,另外靠的就是動物的大便,動物的大便或是被拿來施肥、被植物吸收,或是在土壤中被細菌分解,等待不知何年何日有幸運的生物將這些物質吸收進去作為營養,開啟新的生命循環。從這個角度看大便,其實大便也是地球生命不可或缺的一員。讀大便書行文到此處,才赫然發現原來平常排放就直接沖掉的那些不起眼的廢物大便,原來一直默默的和海底無機鹽、動物屍體、雕亡植物、風化岩石、水流等自然現象一同構成地球一切生命的一部分。我甚至不禁感動起來。
以醫學系大學生的角度來觀察,其實大便也是醫生的好助手。范老師第一堂課講蛔蟲就提到,蛔蟲一種重要的診斷鑑別措施就是大便。使用從寄蟲實驗課中學到的大便處理方法,加水稀釋、攪拌、塗抹在玻片上,就能夠揭開寄生蟲疾病的密碼。寄生蟲在人體或是動物體內的惡劣破壞行徑,就在大便中顯現的證據而百口莫辯,等著受到穿著白袍醫師的無情殲滅。我們看都不屑看,甚至避之唯恐不及的大便,其實是揭露我們體內病原的有功情報人員,平常沒有思考,又有誰想得到這些呢?
大便不只在寄生蟲學用的到,在其他科目的診斷也用的到。大便的產生是源於人體消化道經過胃、小腸、大腸分解消化吸收加上身體內諸如紅血球代謝製造的膽汁而製造出來的排泄形式。大便的產生絕對不是肚子不舒服,去個廁所就蹦出來那麼簡單。因為大便產生的過程之中,不同的部份有不同消化器官的直接參與,以及其他非消化器官的間接參與,所以大便可以看出很多器官的疾病。
以大便的顏色來說,大便的顏色來自膽汁的染色,所以很多肝臟器官的疾病和膽汁分泌問題的疾病都可以從大便的顏色看出來。譬如淡色的大便代表膽道可能受到阻塞。有時一些不速之客也會來攪局搞亂大便的顏色,譬如病理所學消化道出血的時候,大便的顏色有時就會有奇怪的改變。大便來自於消化吸收的剩餘產品,所以消化道的疾病也常常會影響大便,而醫生也常常根據大便忠實提供的資訊來判斷疾病。比如消化道的吸收功能受到破壞的時候,大便就容易出現水水、軟軟的現象,醫師就可因此猜想到是消化道的疾病。大便的顏色不正常或是排便習慣改變也可以透露出一個人可能得了癌症的訊息。這種時候大便就不只是情報員,而是救命恩人了!
這本書或許沒辦法代替教科書或共筆提供非常深入專業的知識,但他總是開啟了另外一種全新的視角,以一種你我從未想過的巧妙構思角度來觀察平常認為最低下的廢棄品,原來這些不那麼令人喜歡的殘渣,也是有很多道理和學問在裡面,其實也是地球和人類文化的重要部份呢! 全文連結
--正文開始--
這次讀書心得報告我選擇的是「大便書」。
這本書最大的特色就是以幽默風趣的插畫,介紹日常生活中大多數人都覺得很噁心的大便。其實就專業內容來說,這本大便書並不會超過醫學系的共筆和教科書,甚至還少蠻多的。但是這本書的獨特之處並不在於他呈現的某些醫學知識,而是他呈現的方式還有對於大便背後的省思。
一般來說教科書看起來都很專業、令人敬畏、厚重飽滿。厚厚一大疊一打開就是紙漿和墨水混合書本年齡的強烈氣味撲鼻而來,搭配密密麻麻的字體和怵目驚心複雜無比的圖片,還沒開始閱讀已經全身發抖想要向書跪拜。但我拿到這本大便書的時候。不會比CD唱片還大許多的大小,封面顏色溫和、平易近人卻又故意帶著一點大便黃綠色,但卻不會讓人感到噁心。封面可愛逗趣的插畫帶著溫馨的氣息,即使是為了做報告而去圖書館借這本書,卻不會有嫌惡的感覺。
內容的呈現也充滿溫馨可愛的風格,黃色和綠色的配色一樣彰顯著大便的主題,插畫家寄藤文平功力深厚的筆下,描繪出許多可愛會說話的大便先生擔任旁白解說或是情境對話、穿著白衣進行專業大便製造卻常常有人罷工的大便工廠,述說著身體故障的時候大便會出什麼問題,稻穗、太陽、自然等插畫加上發人深省的筆觸描述大便和大自然的關係。樸素簡單卻又言簡意賅的各種卡通統計圖適當的烘托出書本一開始許多關於大便的統計,比如全世界一年的大便疊起來會多高多長之類的。種種資料引用和充滿思考意境的對話,透過可愛的方式呈現大便的另一面。
一般人都認為大便是骯髒、污穢、噁心、應該丟棄的。但是我們有多少人有想過要是大便不存在會有什麼後果?自然界重要的有機、無機循環被打斷了。平常吃的稻米消失了,我們人體無法把很多骯髒的廢物排泄出去了,就某些角度而言,日常生活甚至不能沒有大便。
看大便書我首先想到我國古代的水肥文化。以前沒有化學肥料的時代,肥料的主要來源就是水肥:發酵過的大便。古代廁所採用所謂的「茅坑」,挖個大洞中間兩條木版,如廁的人蹲在中間排便,一不小心還會掉進去。累積足量的糞便以後就由農夫裝糞統拿來施肥種菜,古代的稻米和蔬菜、水果就是在無數人類和動物的大便之中種植出來的。其實就連現代社會也有使用大便作肥料呢!淡水的污水處理廠,將混有人類大便和動物大便的污水進行沈降處理以後,產生的廢渣一個主要用途就是加工製成肥料,然後低價賣給農民。你我每天吃的菜,搞不好就有隔壁老王的大便在裡面。看了大便書想到這些,不知道應當是說噁心呢,還是說大便對於我國飲食文化真的功不可沒。沒了這些大便,你我還真的沒這麼多新鮮蔬果和稻米農作可吃。
大便也是自然界有機無機循環的重要部份,動物的能量來自植物,植物的能量來自土地,土地的能量從何而來?固然,書本上也有海底岩石無機鹽溶解以後被潮汐、雨水帶到陸地上的說法,但只是一直開採新的來源,總有一天有機物、無機物的來源是會枯竭的!所幸動物其實也是會把物質還給大地的,除了動物死亡的屍體被細菌分解以外,另外靠的就是動物的大便,動物的大便或是被拿來施肥、被植物吸收,或是在土壤中被細菌分解,等待不知何年何日有幸運的生物將這些物質吸收進去作為營養,開啟新的生命循環。從這個角度看大便,其實大便也是地球生命不可或缺的一員。讀大便書行文到此處,才赫然發現原來平常排放就直接沖掉的那些不起眼的廢物大便,原來一直默默的和海底無機鹽、動物屍體、雕亡植物、風化岩石、水流等自然現象一同構成地球一切生命的一部分。我甚至不禁感動起來。
以醫學系大學生的角度來觀察,其實大便也是醫生的好助手。范老師第一堂課講蛔蟲就提到,蛔蟲一種重要的診斷鑑別措施就是大便。使用從寄蟲實驗課中學到的大便處理方法,加水稀釋、攪拌、塗抹在玻片上,就能夠揭開寄生蟲疾病的密碼。寄生蟲在人體或是動物體內的惡劣破壞行徑,就在大便中顯現的證據而百口莫辯,等著受到穿著白袍醫師的無情殲滅。我們看都不屑看,甚至避之唯恐不及的大便,其實是揭露我們體內病原的有功情報人員,平常沒有思考,又有誰想得到這些呢?
大便不只在寄生蟲學用的到,在其他科目的診斷也用的到。大便的產生是源於人體消化道經過胃、小腸、大腸分解消化吸收加上身體內諸如紅血球代謝製造的膽汁而製造出來的排泄形式。大便的產生絕對不是肚子不舒服,去個廁所就蹦出來那麼簡單。因為大便產生的過程之中,不同的部份有不同消化器官的直接參與,以及其他非消化器官的間接參與,所以大便可以看出很多器官的疾病。
以大便的顏色來說,大便的顏色來自膽汁的染色,所以很多肝臟器官的疾病和膽汁分泌問題的疾病都可以從大便的顏色看出來。譬如淡色的大便代表膽道可能受到阻塞。有時一些不速之客也會來攪局搞亂大便的顏色,譬如病理所學消化道出血的時候,大便的顏色有時就會有奇怪的改變。大便來自於消化吸收的剩餘產品,所以消化道的疾病也常常會影響大便,而醫生也常常根據大便忠實提供的資訊來判斷疾病。比如消化道的吸收功能受到破壞的時候,大便就容易出現水水、軟軟的現象,醫師就可因此猜想到是消化道的疾病。大便的顏色不正常或是排便習慣改變也可以透露出一個人可能得了癌症的訊息。這種時候大便就不只是情報員,而是救命恩人了!
這本書或許沒辦法代替教科書或共筆提供非常深入專業的知識,但他總是開啟了另外一種全新的視角,以一種你我從未想過的巧妙構思角度來觀察平常認為最低下的廢棄品,原來這些不那麼令人喜歡的殘渣,也是有很多道理和學問在裡面,其實也是地球和人類文化的重要部份呢! 全文連結
訂閱:
文章 (Atom)
