Tuesday, June 06, 2006

使用MusicXML了解Visitor

從MusicXML這個用來表達音樂譜記的XML規範出來後,一直想找個時間好好研究它(可能是因為心中對玩音樂這件事的遺憾吧)。隨著越來越多的寫譜程式支援這種格式當成中繼的交換格式後,我想MusicXML以後會慢慢改變音樂家使用資訊軟硬體的選擇...繼續閱讀

Thursday, May 18, 2006

RFC2217

最近被逼著要去開始學習RFC2217的project
其實有一點不想, 但是沒辦法, 拿人家薪水嘛
所以開始研究了一下它

說實話RFC2217並不複雜
簡單來說, 他就是將Serial Port變成一個可以在網路上使用的裝置
而client端只要有一個2217相容的軟體
便可以在本機模擬出一個serial port(好吧...COM port)

其實Open Source已經有一些project針對2217來實作
最近看了幾個, 跟各位分享一下

(1) ser2net

這個project會開啟2個socket, 一個用來當成控制用, 另一個是用來傳送RFC2217 data

(2) sercd

sercd利用了inetd的機制來實作, 因此他非常的簡單, 簡單到只有一個C檔案
但是有時候簡單的作法反而比較好, ㄏㄏ
因此使用他的前提是你必須安裝inetd或是xinetd
並且將/etc/service與inetd的設定檔設好(xinetd要加入他的設定檔至xinetd的
service目錄)

(3) telnetcpcd

這個daemon我比較欣賞的地方是他將RFC2217的部份分離開來
所以很清楚的知道2217的運作流程

另外, Java有一個RFC2217的library可以使用(都沒有C語言的....真是)
一般來說2217的連接並不困難
但我覺得問題是安全性的問題

因為這類設備的應用有時候也還挺需要保密的
例如一些遠端環境監控設備, 遠端瓦斯錶
早期這些設備多是serial port的設備
在網路越來越發達的時候就會想要把他加入網路而能夠從遠端監控

但是RFC2217只定義了serial轉換network的這段
舉例來說, ser2net會先建立data port然後建立controll port
但這種裝況下所有在網路上的點都可以存取它(他的data socket一開始便存在)
他的作法不像SIP是先在控制端討論好後
再建立一個data session(for voice)
所以基本上我並不是很喜歡這種作法

很多工控設備的廠商大多把精力花在去弄控制介面
譬如, 用網頁控制或是用自己的AP utility去控制
但是我覺得這段卻比較少去改變
加上很多公司都是拿了Open Source的程式碼去修改
加入一些user friendly的功能便要開始賺錢(又不open source....沒良心)
這種情況之下......其實我也沒太大興趣了
but.....Money Talks.........

Friday, May 12, 2006

Walk through TreeView

很久沒有寫GUI程式了
最近幫我老姐的論文程式重寫了一個新版本
(之前那個是及就章的成品, 現在這個.....算堪用吧 ㄏㄏ)
這程式是用在我姐的音樂資料整理與分析(我老姐是唸音樂教育的)
有興趣可以用用, 我放在中研院的自由軟體鑄造場(here)

在寫的同時也有一些在gtkmm上面小小的心得(我用gtkmm為GUI widget system)
其中一個便是如標題所示
有興趣請到此閱讀

Thursday, April 27, 2006

作業系統大混戰

最近一個挺熱門的話題就是在OS跑其他OS
不管是在linux跑windows或是反過來
最近各陣營都有很多進展
其實我不是很喜歡這樣的操作
喜歡linux就努力把他改善
喜歡windows就多寫點open source的程式....ㄏㄏ

老喜歡在windows上跑vmware的朋友
還真是錢多硬體強...ㄏㄏ
像我的linux多跑點daemon
也沒剩多少RAM了
WinXP在128MB下面跑似乎是災難
更別說我大概只能空出32-64MB了(好吧 我很窮 買不起ram)

不過最近我倒是用起了Qemu這個processor emulator
不過不是要想跑windows啦(沒這麼想不開)
而是.....Minix3

這個Microkernel的OS
以前便想要試試
但是歐....我想目前在minix有太多事不好做(沒辦法 多年來有些GUI還是習慣)
這時候用Qemu便是很棒的solution
因為呀, 我只要給他32MB的RAM就跑的嚇嚇叫

我想花點時間研究一下作業系統的實做也是很棒
畢竟linux kernel現在也是百萬行級的source code了
幾千行的Minix3應該比較優吧

不過.....天瓏書局那本OS新書到底何時才要進來呀
望穿秋水.......

Wednesday, April 12, 2006

bcm43xx linux driver

最近終於找了個時間換到2.6.16的kernel
唯一驅動我去更新kernel的動力就是: bcm43xx
我的laptop的wireless chip是broadcom的bcm4306
但是一直沒有linux下面的driver可用
後來雖然都用ndiswrapper也可以連上無線網路
但是總是有一些問題(我遇到的主要都在multicast的部份)

隨著這個open source的driver一直進步
讓我一直想試試
無奈於那時我的kernel是2.6.13,所以一直拖到現在

anyway,試過之後.....真是愉快呀
我的linux laptop越來越棒了
給這些沒有hardware spec還可以寫出driver的天才朋友們一個無敵的掌聲吧