Tuesday, December 27, 2005

一邊寫程式 一邊寫文件: Doxygen

開發一個自己的Open Source程式
有的時候當別人希望你有文件可以讓他更容易了解時
我想對於大多數的engineer來說都是很痛苦的
但是有一個project卻可以幫你解決這個問題
doxygen是一個程式注釋文件系統
當你開始寫程式時
一邊把注解以doxygen的格式寫在程式碼中
最後只要簡單的編輯一個doxygen設定檔
(doxygen也可以幫你產生基本設定檔)
只要執行doxygen
一個完整的文件便可以產生
doxygen可以產生html, latex與rtf格式的輸出
非常的方便

想讓你的project有一個很棒的reference網站
還是想要給一份很正式的programming文件嗎
doxygen絕對是你不能不去試試的東西

Monday, December 19, 2005

Gaim2.0 beta1釋出

在最近Gaim釋出了2.0 beta1的版本
自從IM的世界開始大戰之後
我就覺得Gaim實在太棒了
因為他是一個支援各種IM protocol的軟體
大概你有在用的即時通軟體他都支援
(MSN, Yahoo Messager, Google(jabber), ICQ, Zephyr..)
新的版本UI做了些變化
我覺得最值得期待的是2.0後將gaim-vv整合進來了
因為早期Gaim的問題是他並無法作video與audio的通訊
而Gaim-vv是Gaim的另一版本, 使得Gaim具有AV的功能
另外, 這個月15日google釋出了google talk的API library
(libjingle, jingle是jabber的延伸版本)
可以期待將來Gaim將會有google talk的語音功能
反正現在Sean Egan已經在google上班....ㄏㄏ
(Sean為Gaim的maintainer)

One Standard or two?

今天在OSNews看到一篇文章: Is One Standard Always Better than Two?
他探討的是前陣子大家熱烈討論的文題
微軟新的document格式與OASIS的Open Document格式之爭
起因在於因為OpenDocument的格式已經越來越被重視
加上近期OpenOffice2.0的聲勢也勢如破竹
今年稍早的時候原本微軟宣佈新的Office要支援OpenDocument格式
但是後來又決定使用自己的格式XMLRS
微軟宣稱它會是一個OpenStandard
所以他的論點是: 兩個OpenStandard比一個好, 使用者可以選擇
但可以想像引起Open World社群一陣討論
對於文件格式有興趣的朋友可以看看這篇文章
我覺得我的想法也跟他很像
我也不太管有幾個standard, 只要是Open的
我想微軟會讓大家不信任是因為他有太多不良歷史紀錄吧

Friday, December 16, 2005

淺談Abstract factory

最近又開始把C++拿出來用(太久在linux system中都是使用C),重新在開始寫C++卻發現以前對C++coding有很多不是很好的習慣。以前一開始使用C++比較多其實是在我剛出社會時做windows engineer的時候,那個時候因為都是寫些小程式,所以習慣用UI的角度看整個程式,常常都是以UI為中心,所以程式的靈活度很低......Read More


PS. 我的網站改版了歐, 去看看吧

Monday, December 12, 2005

cat on TCP/IP

別誤會, 我沒有要賣貓
習慣使用Unix-like command-line的朋友
一定對於"cat"這個指令十分熟悉
他可以把檔案的內容顯示在terminal中
(device node也可以啦, 其實大概可以open與read的VFS都可以)
但是如果我不想把結果放在本機端顯示
而想要透過網路傳送到另一個machine呢?
我想Gnu-netcat是你的好選擇

簡單來說, 這個程式其實與cat沒兩樣
只是他將結果傳送到網路罷了
所以說, 你可以將本機上的一些資訊傳送到其他地方
有啥用途呢?
看你怎麼用吧....ㄏㄏ

舉個簡單的例子: syslog
雖然syslog可以用-R的方式將log message送到遠方的logserver
但是如此一來本機將沒有log file
利用本機端的cat或tail指令, 配合netcat可以構成一個簡單的solution
另外, 如果兩邊都用cat來顯示與存入
也是一個簡單到不行的"單次"ftp
(傳完一個檔就結束呀...ㄏㄏ....好啦, 我知道有wget比較好用)
甚至於例如在工廠中, 遠端可能使用一個embedded device或是laptop
可以將一些serial port的資訊直接送到後端server
(例如barcode scanner, GPS mouse, RFID reader, Card-reader....等等)
運用上就看你的智慧了(或是PM的智慧....ㄏㄏ)
Anyway...這是一個很棒的小程式

Sunday, December 11, 2005

SQLite3的C++ wrapper

最近使用SQLite3來做一些自己的東西
因為是使用C++當作程式語言
所以找了一下網路上有沒有相關的project可以利用
(建立sqlite3的database程式我用C語言解決)
果然讓我找到一個(Open Source萬歲)
Sqlite Wrapped
我在SQLite3中試過滿好用的
可以用object的方式處理database又不用自己寫wrapper
有在C++使用SQLite3的朋友可以試試

Wednesday, December 07, 2005

GNU screen

我的工作環境雖然大多已經在X window下運作
但是依然有大量的時候必須使用CLI(command line interface)
之前我最愛gnome-terminal
因為可以開一堆tab window在同一個gnome-terminal之中
但是有些時候當X不在執行的時候
當然gnome的程式也無能為力

後來看到GNU的screen這支程式
真是愛死了
他是一個讓你做到類似上面所述的功能
甚至在沒有X可使用的情形下
你可以開啟許多虛擬的screen執行不同的工作
在各個screen中copy-paste文字
支援unicode
太好了, 這樣的工具喜歡用CLI工作的朋友怎能不試試

Tuesday, December 06, 2005

簡介Cairo


從一開始我發現Cairo這個drawing library後
一直覺得一定要花時間好好研究一下
因為他一定是一個明日之星
看到Gtk+-2.8已經開始使用cairo當成backend
越來越覺得可以思考一下他的利用

最近試了一下gtk與cairo的整合部份
其實gtk並沒有將cairo包裝起來
而是你可以利用cairo的一樣寫法在gtk程式中

舉例來說
我使用一個drawingarea來示範

GtkWidget *target;
cairo_t *cr;

target = lookup_widget((GtkWidget *)button, "drawingarea1");
cr = gdk_cairo_create ((GtkWidget *)target->window);

cairo_move_to (cr, 10, 10);
cairo_line_to (cr, 150, 20);
cairo_rel_line_to (cr, -50, 100);
cairo_close_path (cr);

cairo_move_to(cr, 150, 100);
cairo_show_text (cr, "中文測試");

cairo_stroke (cr);

cairo_destroy (cr);

(PS. gtk都是使用UTF-8編碼, 所以中文沒問題)
這是一個簡單的glade所完成的gtk+程式(執行畫面如最上方圖)
你可以看到除了得到cairo_t的部份外, 幾乎都是cairo原身的語法
其實gtkmm似乎有在完成cairo的widget元件
但是我其實還挺欣賞這種作法的

gtkmm也可以直接使用cairo的function
唯一差別只在取得cairo_t的方式
對於GUI後端顯示技術與向量式繪圖有興趣的朋友
不妨去看看cairo吧

Tuesday, November 29, 2005

GIS data for free or not?

最近看到一些車用資訊系統的消息
似乎CarPC在台灣又開始熱了起來
想到之前也曾經待過一間想玩這領域的公司
那個時候也曾想自己寫寫一些東西玩玩(公司裡我不是負責導航地圖的)

其實當時就有一個問題很令人困擾
就是------地圖資料
台灣並沒有把地理資訊當成公共財(國防安全??都有衛星照片了...ㄏㄏ)
所以你如果想要弄個自己的open source map for taiwan
你根本找不到data

其實說找不到也不對
因為在台灣有兩個地方可以找到(非產業界)
一個是交通運輸研究所, 另一個是地政司
先來說說運研所吧
我是不知道運研所的定位是啥
他的data可以提供較為好的交換檔格式(譬如shapefile)
但是如果你想要運研所的這份資料
你又剛剛好不是政府機關或學術單位(事實上學術單位也要錢...比較便宜而已)
我想你大概要準備個5萬元吧
想商業化....30萬
或許沒錯, 對一間商業公司而言, 30萬台幣是小錢
但是對open source的project而言
30萬是不可能........300元可能有人會捐吧
所以運研所的這份資料對於open source世界是太遙遠

那地政司呢
你可以自由下載使用
但是他是AutoCAD R12的ascii dxf檔案格式
也就是說, 他是一個可以讓你看看, 但是卻不是一個適合地理資訊使用的資料
其最大的問題是
他並不像shapefile這類的交換格式可以將空間資料與屬性資料對應
最簡單的說法是
他圖上的每一個字都是獨立標示顯示位置
跟空間資料連接性不高
我曾使用dxflib這類library將空間資料抓成較有關聯的binary format
但是想到要將屬性資料填入......我就腿軟了

因此雖然我覺得這個領域也挺有趣的
但我還是只好先放著(好吧....主要原因是懶惰啦)
期待台灣地政單位能有更open的思維來想想這個問題
或許台灣的GIS會更蓬勃呢......

Monday, November 28, 2005

enlightenment DR17繁體中文

今天CVS了新DR17的code
發現我的繁體中文po檔已經進去官方語言板了
所以以後DR17正式板出來會有繁體中文介面啦
不過似乎加入語系支援的地方做了一些修正
反正不影響翻譯檔啦
看來這是金鐘獎除了看蕭淑慎爆奶外另一個收穫
ㄏㄏ

Friday, November 25, 2005

台灣的開放原碼競賽

最近從openfoundry的網站上看到2006年的IOSECS
主題為Automotive PC
贊助商為MontaVista
從之前Monta在台灣設立分公司來看
難道Monta看好台灣的車用電腦市場
看來想要用embedded linux開發車用資訊平台的朋友
可以關注這事的後續
也可以看看有哪些優秀的project

但是除了獎金之外
他的獎品....一套免費的MontaVista.....
實在是不吸引人.....還是buildroot好用

Wednesday, November 23, 2005

很迷你的SSH daemon: Dropbear

最近工作上被告知要在我的arm embedded board上放入SSH daemon
(雖然我覺得看起來意義不大....ㄏㄏ)
試過了OpenSSH, 但是.....他實在太大了
最後試了這個很小的ssh daemon: Dropbear

Dropbear真的很小, 我使用static linking後的binary大小還不到200k
(聽說還可以更小)
所以讓我解決的這個問題
有需要SSH在embedded linux的朋友可以試試

另外uClibc的buildroot已經把dropbear加入
想要一個很小的ssh server的朋友可以直接使用buildroot
(至少換掉glibc就小很多了 ㄏㄏ)

Thursday, November 17, 2005

enlightenment DR17 cht patch

不知道何時DR17的CVS會加上我的po file
所以我先將patch與po檔放在
OpenFoundry
有需要的可以用CVS下載(需要使用ssh)

cvs -d :ext:cvs@cvs.openfoundry.org:/cvs co r17twpatch

一個patch可以加入繁體中文介面支援
另外, 如果覺得我翻的很爛
自己拿po檔去改吧

PS. 中研院的自由軟體鑄造場雖然不像SourceForge那麼有規模
但是因為是台灣自己的努力, 如果有朋友有興趣貢獻自由軟體
可以去註冊歐

Tuesday, November 15, 2005

userspace的filesystem

許多玩linux的朋友一定有一個矛盾
不希望基本的系統被破壞最根本的方法是
不要用root當成你的工作帳號
但是許多時候一些與硬體有關的動作又非得需要root
一直su大概也很煩吧.....ㄏㄏ

現在有許多的solution都正處理這個問題
其中關於filesystem的一個令人滿意的solution便是FUSE
FUSE是Filesystem in Userspace的簡稱
看名稱便知道他是將mount filesystem的動作在userspace完成
這樣一來, 你可以不是root也可以去掛載filesystem
我最常的應用是用sshfs
他是FUSE的應用
將一個ssh連上的使用者目錄掛在自己的目錄下
我將大量的mp3音樂檔放在另一台server
這樣一來, 我不用是root也可以享受網路磁碟的好處
而且他還在ssh的加密安全保護之下
很棒吧.........

其他運用還有很多smb, upnp, bluetooth.....去看看吧
說不定有你想要的

自由軟體十字軍

今天在NewsForge看到一篇文章China's linux disease
講到中國的linux在目前官方的層層保護下的問題
很有趣的文章, 可以去看看

這讓我想到上星期在台灣參加ICOS 2005時候
許多人都希望台灣官方能像中國大陸一樣
宣佈公家機關都不准用windows
或許都是希望linux能在台灣壯大
但是那天的情形讓我想到基督教的十字軍
藉由自由之名卻成了一場屠殺

我不是windows的愛好者(認識我的應該都同意吧...ㄏㄏ)
但是我深信一件事----自由的權力就是選擇的自由, 包括選擇不自由
所以如果你喜歡MS windows, 那很好
如果你喜歡linux或Mac, 那也很好
我只覺得應該讓大家自由選擇, 包括公家機關

在ICOS我覺得大家一直想加強政府的力量
但卻常常忽略自由社群的力量
想想當初linux或是許多自由軟體計劃
它們都不屬於任何一個國家的政府, 甚至不屬於任何一個個人
這不是自由軟體最基本的精神嗎
同樣的, 他也不強迫你來用
你有需要的話, 自由去下載, 傳播, 修改, 使用
但是重點是自由選擇
也正因為這種特性讓自由軟體在全世界受到矚目
那為何現在要改變這種自由

其實我可以理解ICOS與會許多是商界人士
當公家機關的需求出現時那個商機是很大的
但是那無關自由軟體的事呀
想想Microsoft要花那麼多的宣傳, 公關費用(當然還有贊助)
努力宣傳windows的好(儘管我還是不認同windows的好...ㄏㄏ)
但是那也應該是市場競爭的事
一樣無關自由軟體

我覺得應該是多元化的去"教育"
我贊成教育體系應該有自由軟體
但是就此不准MS windows
我也不是那麼同意
想想電腦教室內有windows, linux(Red Hat, Mandrake, SuSe....), Mac
那不是很好嗎
喜歡用那個去用那個(只是老師辛苦了點....ㄏㄏ)
一個真正自由的環境是選擇的自由.....包括選擇不自由

Monday, November 14, 2005

繁體中文enlightenment版本


最近在看金鐘獎與金馬獎的時候
閒閒的就順便把enlightenment DR17的繁體中文介面翻好
放到我的R17看來沒啥問題
已經mail給enlightenment的intl mail-list
希望他們能加入zh_TW多語系支援
原本R17有簡體中文支援
身為台灣人的我....一定要為繁體中文加油的啦....ㄏㄏ

Saturday, November 05, 2005

讓windows也能使用ext2

很多人不知道其實windows有一個Installable File System的SDK
IFS可以讓windows掛載其他格式的檔案系統
雖然我幾乎99%的工作都在linux上
但有時候還是必需到windows環境下工作
(譬如使用金融軟體)
這個時候一個可以利用linux檔案系統就十分好用
(畢竟我大多數的檔案都在linux)
"Ext2 Installable File System for Windows"
這個project就幫了我許多忙
有在兩個檔案格式中頭疼的朋友可以試試

Wednesday, November 02, 2005

讓你的compiler互相支援: distcc

最近要將我的laptop重灌gentoo
而且我又是那種喜歡從stage1開始慢慢compile的人
(自找苦吃吧....但是我覺得在這些過程中也學到一些東西)
看到我的laptop辛苦的compile所有程式
突然想到.....讓我的PC幫他一下吧

沒錯, Distcc就是一個能讓你的gcc compiler互相幫助的玩意
他可以將compiler的工作分出去給遠端的host來幫忙
ㄏㄏ 這樣我的gentoo就不用compiler一整天啦
(尤其是像Gnome.....等你等到我心痛.....想下班......)

Friday, October 21, 2005

輕型的database: SQLite

SQLite是一個非常小型的資料庫系統
很適合在embedded system上去使用
加上他使用檔案的方式處理資料
而不像MySQL這類的資料庫利用client-server的方式通訊
因此速度也不錯
也因此他也獲得2005年的Open Source Award
有需要在embedded system中使用database的朋友可以試試

Thursday, October 20, 2005

OpenEZX

smartphone越來越盛行
而其中Motorola更是以linux為基礎來開發其手機平台
在內部他們稱此平台為EZX
想當然Motorola也不會Open Source啦
但是沒關係.....一個新的project正在開始
OpenEZX這個project將要完成一個open source的EZX平台
而且更要將kernel換成新的2.6
對linux smartphone有興趣的朋友可以追蹤這個project

Wednesday, October 19, 2005

美的令人窒息的桌面環境: enlightenment

今天試著把enlightenment的CVS版本DR17在我的gentoo上裝起來
之前試過DR16, 並不覺得他很好
但是這個傳說中很美麗的DR17, 真是讓人驚豔
我並沒辦法裝上enlightenment的login程式entrance
所以我還是使用GDM

當DR17一啟動時, 就能讓我感動
啟動程序為一美麗的動畫

很美吧

開始使用enlightenment的桌面環境
你首先會被他的動作殘影效果所吸引
很漂亮的移動殘影
加上所有圖示都如同Mac一樣
當你的mouse移到上方時, 會有視覺反應
很漂亮

目前他還是CVS版本, 我想等他release後
可以考慮要不要轉移我的gnome....ㄏㄏ

Friday, October 14, 2005

IM的戰爭

最近即時通訊的戰況真是激烈
隨著Microsoft與Yahoo在IM的結盟
擺明是衝著google而來
使用open standard(XMPP/Jabber)的google talk
雖然目前仍然是IM的小老弟
但是其企圖心卻很強烈
最近google也找Gaim的主要開發者Sean Egan到google工作
我看改天google talk就可以更完整的在linux上使用
看來現在關鍵角色就是AOL了

從近來Microsoft跟Google的大陸搶人大戰
到最近的IM整合大車拼
看來以後又可以拍一部電影
就像以前講Steve Jobb與Bill Gates的那一部(忘了片名了)
一定也很好玩

Thursday, October 13, 2005

超酷的project: USB/IP

最近看到這個很好玩的project: USB/IP
來自日本的奈良先進技術學院
他是把一台server的USB device透過網路分享出去
client可以如同那個usb device是裝在本機上使用
簡單來說, 就是server變成一個類似USB hub的功能
只是一切的usb request都是透過網路
client端也模擬一個VHCI的driver來與遠端溝通

超好玩的, 我試過在遠端裝USB to serial以及webcam的裝置
很有趣, 可以當成簡單的遠端數位監控....ㄏㄏ

其實這類的project還有分享serial port的ser2net
也是類似的project(這類project比較常出現在工業控制的領域)

想到之前我使用我的USB M-Audio interface接我的PMA-5時
都覺得還要跑去接喇吧很麻煩
以後弄台USB device share server
就可以把這些玩意固定裝在喇叭旁了
再弄個web cam.....ㄏㄏ
想到就覺得有趣....想辦法生台舊PC來試試吧....ㄏㄏ

Friday, October 07, 2005

跨平台程式的好選擇: mono

最近花了一點時間學習open source的.NET程式programming: mono
利用mono + gtk-sharp + glade-sharp可以將程式分別在win32與linux上執行
覺得還不錯, 改天多花點時間把C#學好吧
換了一個環境還是需要花點時間
例如今天在C中常用的memcpy就把我搞了很久
後來才發現可以這樣
ushort len;
.........................
byte[] z = new byte[2];
z = BitConverter.GetBytes(len);
Array.Copy(z, 0, buf, 1, 2);

真是差很多, 不過看到相同的程式可以直接搬到win32還是挺高興的
而且還是可以使用Gtk widget.....考慮換語言中.....ㄏㄏ

Thursday, September 29, 2005

E Ink的電子紙開發套件: AM-100 EPD kit


前一陣子Fujitsu展示了號稱世上第一個電子紙張的展示
他使用了E Ink的技術
最近E Ink將推出其開發套件

開發套件將使用一個很小的module版: Gumstix

他使用PXA255 SoC
開發套件將以linux為其OS
加上open source的driver與application

看來挺好玩的, 不知道非廠商可不可以買一套來玩玩
ㄏㄏ

Wednesday, September 28, 2005

Love your job but never fall in love with your company

在網路上看到這篇文章, 想到最近電子時報也有一篇關於歐美工程師長時間加班的可憐
(其實台灣也是.......而且還以加班的時間當成大家努不努力的依據)
這句話是由印度的Infosys Tech.(你不會不知道這間吧....一定沒有投資印度....ㄏㄏ)
的領導人Narayana Murthy接受訪問時所說
整句話如下:

LOVE YOUR JOB, BUT NEVER FALL IN LOVE WITH YOUR COMPANY BECAUSE YOU
NEVER KNOW WHEN COMPANY STOPS LOVING YOU

其實我也是很不贊成加班的, 尤其是研發人員
我常看到許多engineer埋首苦幹
往往把自己逼到完全無法思考
其實適時的跳離困擾你的事物, 有時候反而能找到解決的方式

我自己的經驗是, 當程式寫不下去時, 我會拿起我的吉他.....play it
或是翹班出去喝杯咖啡(所幸我待過的公司門禁都不嚴....還是嚴的我都不想去... ㄏㄏ)
很多時候在回到工作時, 會發現自己之前似乎像個白痴
總是能看到之前看不到的部份

加班.....是否有效慮....我想員工與主管絕對有不同的想法
很煩嗎.......溜出去走走吧

Friday, September 23, 2005

.NET平台的Linux: Kamodo

最近Kamodo終於發佈了他們以GNU/linux為基礎
整個平台都是.NET的架構
具有Mono的runtime environment
其中讓我覺得振奮的是他更是整合了freedesktop的桌面環境
所以許多像DBus與Cairo等很棒的東西都是他系統的一部分
他自己有一套新的桌面系統稱為Dogan
一整套的圖形環境稱為Emotion, 以Cairo為base
雖然我不會C#.......
但是看到這種產品問世, 我看改天來學學C#吧
先抓Kamodo下來試試

你可以去看看screenshot......值得期待歐

Thursday, September 22, 2005

Tech or not


今天在Slashdot看到一篇引起討論的文章: Building an Open Source "Clicker"?
我覺得挺有趣的討論
Clicker是如圖所示的一種IR device, 其實很簡單不算高科技
就是一套課堂上的IR系統, 老師可以問問題而學生利用這個小裝置按答案
讓老師能掌握學生的上課狀況與了解那些從不發問的學生學習狀況

先不論這個裝置優不優
我覺得很有趣的是在一大串的討論中對於在教室中使用科技產品的爭論
到底數位化教學是否適合教育體制
我不是指像遠距教學那類的輔助教學(好吧...也是有狂熱份子覺得以後都可以是遠距)
而是實體教室的數位化

之前在一份國外關於數位教學的雜誌(國圖裏面看到的)上看過國外電子白板的應用
就覺得挺有趣的, 只是當然也是有反對者覺得實體白板有存在的必要
(抄筆記也是學習一個很重要的步驟.......可是我都copy人家的..... ㄏㄏ)
除了這類傳統與數位的爭議我想會越來越多之外
看來電子數位式教育環境也慢慢開始起步
以後的教室大概不是我們可以想像的了......

Tuesday, September 20, 2005

In kernel Web server: Tux

各位應該還記得在1999年的時候一份獨立實驗室的報告指出
Apache+RedHat的執行效能比其他非公開原始碼的平台組合來的差很多
那時候其實也吵的挺兇的
各個陣營為各自擁護的平台在網路上開戰

其實與其爭吵不如真的想辦法解決問題
Tux Web Server就是這樣一個想法下的產品
因為大多封閉系統的web server大多是由OS的出產公司所開發
因此大多能與系統kernel能更緊密結合
而大多linux web server確都是在user space的daemon

其實大部份web server在做的事不外呼就是將網頁檔案經由網路送給browser
這樣一來, user space的程式就要一直去system call
大量的content switch自然降低了web server的效能

因此Tux Web是一個kernel module, 因此他自然是在kernel space執行
他是由RedHat所開始的一個project
我想許多的linux相關project都需要web interface
可以去參考參考
http://www.redhat.com/docs/manuals/tux/TUX-2.0-Manual/index.html

Friday, September 16, 2005

open source sequencer engine: TSE3

TSE3實在是一個非常優秀的MIDI sequencer engine
他使用大量的Observer De
sign Pattern來設計
在大多的Sequencer軟體都是自己弄自己的engine下
可以有這個engine, 也未嘗不是一件好事
可以減少許多開發時間
讓我想起書上的一句話: 真正的專家是懶惰的專家
如果你是使用ALSA的audio driver 1.0以上
要修改一下configure file, 因為他的configure會認ALSA 0.9
但是小改一下就OK....(我是整個不讓他check....ㄏㄏ)

Gnu的軟體節拍器GTick


很久沒有玩吉他了
昨天又拿起我被冷落很久的古典吉他練了一下
(哇靠.......退化成殘廢)
想要好好練習, 突然想到我沒有Metronome
就把這個小程式裝了起來: GTick
簡單又好用....GNU萬歲

Thursday, September 15, 2005

Gnome上的MIDI sequenver軟體: Jackbeat


因為喜歡使用Gtk所以一直以來都在Gnome上工作
但是說實在的, KDE的MIDI軟體實在是比Gnome多
也曾想過寫個gtk sequencer, 但是一直沒有決心有找不到時間
今天從Gnomefiles blog上看到這個軟體: Jackbeat
實在太高興了
如同他的名字, 他在audio interface方面是利用Jackit API
我想使用過Jackit的朋友都會同意他的latency確實比Esound好太多了
但是Gnome以Esound當成預設的sound daemon......
將Gnome得ESD改成Jackit來試試這個sequencer吧

Saturday, September 10, 2005

在windows上安裝linux

其實我一直都不喜歡使用這類PC Emulator
(因為已經不用MS了....ㄏㄏ)
但是最近由於工作上需要使用ARM的MuiliICE
只好安裝了一台WinXP
於是只好使用Emulator來執行Linux
(另一個原因是BlueCat只能用RedHat9....
而我最討厭RH, 也不打算把我的Gentoo換成RH....於是)

想要在windows上安裝linux, 你必須在win32上面模擬一個IA-32的PC環境
之後就可以如一般安裝linux的過程
大家最熟悉的大概就是VMWare
但是VMWare是個商業軟體(雖然有偷雞的破解....ㄏㄏ)
所以只能使用30天

另外open source也有一些emulator可以使用
例如bochs就是一個很棒的例子
雖然有人抱怨他的執行速度較VMWare慢
但是他是一個open source的project
所以可以期待他會越來越好的

如果你並不想把一個大型的linux完全安裝進windows
你只是想在windows上執行一些linux的程式
一些精簡版的linux如Puppy linux是一些很好的選擇
這種精簡的linux, 我想也用不著VMWare或bochs啦
可以試試QEMU這個lightweight的emulator

搞了一推.....還是希望linux版的MultiICE趕快出現吧

Wednesday, September 07, 2005

M-Audio的linux firmware loader


之前玩MIDI都必須要在windows平台上
甚至有想要使用Mac的想法(不過Mac的Midi真的是....酷)
其實在linux上面也有不少software sequencer
但是問題是對於midi hardware的support實在是......想哭
linux支援的許多都是太專業級的MIDI device
(就是說買不起啦......ㄏㄏ)
後來發現了這個玩意........
M-Audio的usb midi interface
我是使用最便宜的1-in 1-out的uno(如圖示)
他可以使用USB當成MIDI的port
不過你在光碟或網站上一定也找不到linux的driver
你可以試試m-audio firmware loader
這個很酷的driver是讓你在linux上使用windows的driver
所以linux上也可以使用這些device啦
我的Roland PMA5終於可以在小企鵝上使用啦.....ㄏㄏ

MusicXML Library

MusicXML Library
之前提過的MusicXML格式, 看了一下我覺得這個library挺好用的
他是一個platform independent的C++ library
library中已經把linux, Mac與windows平台的compiler環境建好
但是他在XML處理方面是用expat library
在linux上使用libexpat很常見(libxml2的愛好者不要生氣 ㄏㄏ)
但是其他平台可能要自行安裝expat library

不過我不喜歡他現有的visitor class
因為他把MusicXML的格式轉成GUIDO的格式
(改天再介紹GUIDO這個music typing format吧)
但是GUIDO有一些能力不足的限制
譬如GUIDO似乎沒有tablature(絃樂譜)的支援
這樣無形間也限制了MusicXML(因為MusicXML有支援)
因此這個library目前似乎沒有technical這個tag的parser
(tab以technical tag來標示絃位置)

想要使用這個library來寫music score showing或typing的程式
我想要加上technical的tag parser
還有加上一個自己的visitor class吧
為自己加個油.....ㄏㄏ.....加油

有沒有人要試試Mac與win32平台呀......

Monday, September 05, 2005

The First and Only Magazine for the New Linux User

又一個open source的free linux雜誌開始
目前已經到第六期, 而且可以免費註冊
我看過第六期, 內容還不錯
鎖定linux的使用者(engineer可能會覺得比較無聊)
不過有些文章還是很值得一看
http://www.tuxmagazine.com/

Sunday, September 04, 2005

The GGI Project

許多embedded linux在GUI上面的選擇都十分痛苦
選擇直接與framebuffer硬幹又嫌苦工做不完
選擇X......只有笨重可以形容
在考慮到不同的硬體(display, input...)
我想大概很頭疼吧.....

GGI project就是一個很值的注意的project
他將使用一個general的介面, 重點是他很快很小又充滿彈性
或許加上KGIFBUI這類很有趣的project
日後GGI會是embedded linux device一個很棒的選擇

Friday, September 02, 2005

更安全的檔案傳輸: FileZilla

在Linux上面早就不太用像ftp這種不安全的protocol
但是在使用windows的時候始終覺得很不習慣
(因為我很少用windows......ㄏㄏ)
每次要從我的linux抓檔案到windows
不是要用samba share就是要執行ftp daemon
(在linux與linux之間我都用ssh來傳了)
發現在windows也有一個支援ssh的ftp client: FileZilla
他的特色有:

*Ability to resume Uploads/Downloads (if the server supports it)
*Custom Commands
*Site Manager with folders
*Keep Alive system
*Timeout detection
*Firewall support
*SOCKS4/5 and HTTP1.1 Proxy support
*SSL secured connections
*SFTP support
*Upload/Download Queue
*Drag&Drop
*Multi-language support
*GSS authentication and encryption using Kerberos

我想對windows使用者來說應該是不錯的選擇, 而且他還是GPL license歐
只是我還是喜歡用nautilus......ㄏㄏ

Wednesday, August 31, 2005

FarSight - Audio/Video Conferencing for the masses

FarSight - Audio/Video Conferencing for the masses

隨著google talk開始測試, 也幾乎宣告著Instant Messenger的戰國時代來臨
我想大家都想在這個領域領先群雄
而google使用了jabber的協定, 不知其之後是否能真的打開市場
但是我想至少許多open source engineer已經十分期待google的下一步

說到IM的audio與video功能, 我覺得有一個project很值得關注
FarSight雖然還是個很年輕的project
但是其強大的企圖心卻使我十分期待
想想未來IM的AV conferencing有這個open source的架構
IM這個世界才會更有趣
更多更棒的軟體才會產生

加油吧

Sam

Tuesday, August 30, 2005

MuseBook Score

很高興看到MusicXML開始有市場產品的問世
MusicXML是針對Score(樂譜)的表現而產生的XML文件定義
他針對MIDI這類的格式對於score的頻乏表現而生

這個以windows為base的軟體非常的屌
除了他可以用MusicXML來展現十分美麗的譜外
他還可以用mic聽你的彈奏而決定你彈到哪裡來自動翻頁
屌吧........只是一直錯不知道他會不會當掉.....ㄏㄏ

http://www.musebook.com/?page=mbscore