DWN – January 24th, 2006

http://www.debian.org/News/weekly/2006/04/

  1. kaffe 將改用 gcj 作為 bootstrap compiler。
  2. alpha, amd64, hppa, i386, ia64, mips, mipsel and powerpc 將是 etch release 的一部分。
  3. webmin-* 從 debian 中移除了。
  4. ipw2200, ieee80211 因為已經包含在 vanilla kernel 裡面所以被變成孤兒了..
  5. rxvt-unicode 暫時變成孤兒了.. (有人在用嗎?應該很快會被領養)

大資盃之旅之三

第三天早上的比賽大家士氣非常高,第一局上就得了十分(雖然有保送的分),接下來也連續讓對手掛蛋兩局,可是第三局對手急起直追,一下追了五分… 然後,最後一局因為我們是先攻所以被逆轉勝了.. 囧

下午的比賽學長以前的同學借給我們一支很好打的棒子,可是還是沒有打的很好,最後被提前結束比賽…

重點是:打完比賽之後雖然沒有打贏任何一場,我們還是去吃慶功宴了,是在公館附近的一家叫做黑森林的德國料理店,點了全家餐,總共有德國豬腳、火腿、香腸、麵包、南瓜湯、手工麵、蛋糕加茶點等等.. 非常好吃。吃完老闆娘還送我們兩包小麵包,真棒。

大資盃之旅之二

今天算是三天內最慘的一天,為什麼呢?

早上被一起睡的學長吵醒,正想問為什麼有一堆人在走來走去時,學長跟我說一起住的學弟、學長的錢跟手機都被偷了!學長說好像是因為學弟晚上睡覺沒有鎖門,而我們這間有鎖。

我摸了一下昨晚放在身旁的外套,錢包就從裡面滾出來,安心了一下,就跑出去跟其他人了解情況,原來是某學長睡醒想要看時間找不到手機發現被偷,問其他學弟才發現幾乎都被拿光了,都是手機不見、錢包裡的錢不見,有的人是晚上才領的 2k 元,沒想到一睡醒便不翼而飛。

大家決定晚上不繼續睡在這間旅館了,所以要找其他地方住,我家在台北縣所以也可以提供住處,回房間要找手機聯絡家裏時,到處都找不到便覺得不妙,想起剛剛沒有檢查錢在不在,錢包從外套滾出來也很奇怪,果然錢也已經不在包裡了。

這下事情大條,總共有四間房被偷了,損失一萬多(加上有人新買的手機)。報警處理後旅館老闆竟然說錄影機剛好壞掉了 -_-

今天是第一次作筆錄,第一次作巡邏車(沒有錢沒辦法坐車)、第一次在大資盃輸球…不過還好小偷只拿了錢跟手機,其他有三台 NB、一台 ipod nano、一堆證件都沒有遺失.. 旅館老闆也答應退房費給我們。

大資盃之旅之一

今年系上壘球隊有參加大資盃,我也有去,總共三天每天都有許多不同的體驗,所以我分成三篇來寫。

第一天,大家早上九點一起搭國光客運到台北,到台北的時候已經中午了,收拾一下把東西拿到旅館去放以後,就是自由活動時間(因為第一天沒比賽,只是先到台北)。

和同學一起去捷運公館站附近的燒烤店吃午晚餐,吃到五點多,接下來因為學弟跟經理都說想去台北 101 逛逛,所以就一群跑到市政府站去。

搭電梯到 101 的 89 樓觀景台去要 350 元,只要 37 秒就可以到 89 樓!號稱是世界最快的電梯… 到觀景台後跟櫃台拿了電子導覽系統,大家就自己四處看。台北的夜景還滿漂亮的,雖然在晚上無法看到遠處的山巒,可是市區的路燈、房子、車子的燈光造出來的夜世界非常的華麗耀眼,從高處往下看,那些房子車子就像是模擬城市中的東西一樣,非常有趣。後來大家想要照相留念,才發現沒有人有帶相機,還好可以跟櫃台租借 DV 拍攝,半小時 150 元。

後來還多花 100 元到 91 樓的戶外觀景台,上面風很大,吹過欄杆發出很大的聲音,除此之外就只有放在室內的四個從香港空運來台的蠟像(李小龍、鄧麗君、貝克漢、瑪莉蓮夢露)。

整個晚上都很嗨,都快以為是到台北觀光而不是比賽了 😉

ASP.NET 2.0

今天下午心血來潮測試了一下 mono 的 ASP.NET 支援,mono 除了有 apache 用的 mod-mono 模組之外,還提供了一個 standalone 的簡單 webserver – xsp/xsp2 ,主要用來做開發測試用。

用 C# 來寫的程式都很正常,不管是 1.0 或 2.0 profile 都可以跑,可是後來想要測試 Nemerle 時卻不斷發生錯誤…

作 .NET compiler 的人應該要提供 Codedom 的 CodeCompiler,CodeGenerator 等等,供其他程式利用內部 DOM 結構動態產生程式碼,主要是用在 ASP.NET

原來 Nemerle 所實做的 Codedom 是從舊的 C# 版本移植的,後來沒有持續更新到 2.0 所以有些地方會出問題,像是沒有使用 partial class,不能把 aspx 與 codefile 分開等等,為了修正這些錯誤下午都在看 Codedom 與 System.Web.Compilation 的東西,現在已經可以正常的用 Nemerle 寫 ASP.NET 2.0 😉

patch 在這裡

Update: This patch has been applied.

Suffix Tree

Suffix Tree,在字串處理上有非常多的應用,尤其是字串的搜尋、定位等等,利用這個資料結構很多都可以在 O(n) 也就是 linear time 做完。

這是在這學期的字串學 (stringology) 學到的,作業就是實做 suffix tree,我用的是 Ukkonen 的演算法,可以用 on-line construction 的方法建構 suffix tree。

我是用 Nemerle 寫的(因為在練習),後來也有用 C# 改了另外的版本,但是還是 Nemerle 的版本比較完整。原本是用 System.Collections.Generic.Dictionary 來存每個 State 裡面的 transitions,可是非常的吃記憶體,用 mono --profile 可以很容易看出來一個 500kb 的檔案,在建構的時候光 Dictionary 就可以吃掉近 150mb 的記憶體;後來改用自己的 linked list 來做,節省了很多資源,2mb 的測試檔可以在 9 秒內建完樹並回報內部節點個數。

整個程式應該還有多可以改進的地方,但是目前的效率作為作業已經可以接受了,先放上來。在這裡

ROTE – Our Own Terminal Emulation Library

librote, 是一個 console 底下的 terminal emulator ,這有什麼用呢?為什麼在 console 下還需要 terminal emulator?

因為它可以內嵌在在許多不同的程式裡面,尤其是 ncurses 的程式,可以把 rote 的 output 直接寫到一個 WINDOW 裡面,對於要內嵌 terminal 功能的程式來說非常方便,甚至還有人利用這個 library 寫出網頁用的 terminal emulator – anyterm

我是在找有什麼東西可以幫助我完成 console-chewing 的 library 時發現這個的,真的非常方便,剛剛花了些時間便完成最基礎的中文輸入功能。(以 off-the-screen 的方式)

不過對於多位元的編碼似乎無法處理,一些 utf8 的字會被切割,看來還是要花時間 hack 了。