<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9488506</id><updated>2011-11-28T07:38:32.026+08:00</updated><category term='gentoo'/><title type='text'>Sam's linux study</title><subtitle type='html'>我的linux研究與open source的分享, 一起加入吧</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default?start-index=101&amp;max-results=100'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>116</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9488506.post-6453545067157893119</id><published>2009-04-15T17:34:00.002+08:00</published><updated>2009-04-15T17:56:29.702+08:00</updated><title type='text'>尊重不同的世界</title><content type='html'>今天一個外包的廠商用MSN傳送一個power-point檔案給我，說要我看一下內容，我回應他&lt;br /&gt;&lt;br /&gt;『我的notebook是沒有裝office相關套件的linux，我回去再看』&lt;br /&gt;&lt;br /&gt;沒想到對方的回應讓我有點不解，他似乎覺得我是因為在上班所以不想看，這是我編出來的理由，或許現在有人電腦裝linux不是怪事，但連所有office套件都沒裝似乎不是這個星球的人做的事，我～～也懶得解釋了。&lt;br /&gt;&lt;br /&gt;有趣的地方是現在似乎每個人已經習慣自己的電腦裡面有『每個人都應該有』的軟體，所以當你把文件丟給別人的時候不會問別人『你有沒有xxx軟體可以看』，因為～～沒有是你自己有問題。但每個人的需求都不同，甚至對軟體的喜好也不同，這些就像是身處不同世界的人看著對方的詭異行徑。&lt;br /&gt;&lt;br /&gt;其實就算使用openoffice，也有許多用微軟office的軟體製造出來的檔案無法顯示完全正常，恩～～我知道是微軟的問題，但另外的問題是現在的使用者已經習慣一個單一而制式化的無趣世界。所以其實我是支持公開格式的人，如果格式是公開的～～～誰管你用啥軟體。&lt;br /&gt;&lt;br /&gt;但這樣的情況在產業界卻不容易發生，每一間廠商都用獨特的格式來包裹使用者，讓使用者變成必須被一直壓榨的對象，這種現象台灣在一個產業格外明顯：導航地圖。說實在的台灣的地圖資料提供商並沒有太多，很多起步的公司也是用運研所的基本圖來改，但是所有的廠商都會做一件事情，把這些格式轉成另一種別人讀不出來的格式，轉換的重點不只是效率（往往效率是最後的考量），而是～～防止複製。在國外的地圖有些不太一樣的發展，有一些專門只做圖資的公司專心的維護資料收取費用，而軟體公司專心研發更友善與更有效率的軟體，所以產業才會進步。&lt;br /&gt;&lt;br /&gt;其實文書處理軟體也是相同的狀況，不知道從何時開始，好像你沒有開啟.doc檔案的能力，你的電腦就被宣告成廢物，不過～～或許我可以產生tex文件但對方無法使用，這又是不同世界的差異，但應該要尊重與你不同世界人的人。&lt;br /&gt;&lt;br /&gt;在公司裡面因為開發linux的程式，所以我也就理所當然的把PC裝上linux，不過其他人卻是都是winxp+vmware，其實只要能夠工作，我也懶得管你用啥OS，不過當你要拿奇怪的windows程式的資料給別人的時候，我想應該要考慮到對方是否可以使用，而不是～～我有盜版的軟體，要的跟我拿。&lt;br /&gt;&lt;br /&gt;莫名其妙被誤會成使用鳥藉口～～這～～還真是一個鳥世界呀。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-6453545067157893119?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/6453545067157893119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=6453545067157893119&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/6453545067157893119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/6453545067157893119'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2009/04/blog-post.html' title='尊重不同的世界'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-9135695029641283606</id><published>2009-04-13T17:06:00.002+08:00</published><updated>2009-04-13T17:19:07.784+08:00</updated><title type='text'>iPhone</title><content type='html'>最近朋友介紹一個開發iPhone小程式的外包給我，雖然說我沒有mac寫程式的經驗，不過對方還是覺得ok（我想是因為我便宜吧～～～哈，反正我是抱持好玩學習的心態），因此開始了我的第一個iPhone與mac程式經驗。&lt;br /&gt;&lt;br /&gt;不過Apple這死要錢的公司真是過份，還要開發者交一年99美金才能把程式放到iPhone上面，這～～我～～當然不付錢，這個時後就覺得Open Source真是親切呀～～連這都有人幫大家解決～～ㄏㄏ。使用一些破解的方式可以讓iPhone不綁SIM卡而且還可以安裝自己的軟體上去（透過cross-compiler，不是用XCode），不過台灣的中華電信版本iPhone已經是不鎖sim卡的版本，因此只要安裝installer與ldid這些軟體就好，透過網路就可以把軟體丟上iPhone（透過ssh）。&lt;br /&gt;&lt;br /&gt;更自由的iPhone開機出現了～～～～鳳梨～～～ㄏㄏ&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/_QLg-dfVcHDM/SeK2oltV9VI/AAAAAAAAV7o/Fv8FXlC7juc/s512/iphone-1.jpg"&gt;&lt;img style="cursor: pointer; width: 281px; height: 512px;" src="http://lh6.ggpht.com/_QLg-dfVcHDM/SeK2oltV9VI/AAAAAAAAV7o/Fv8FXlC7juc/s512/iphone-1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;有terminal看起來更順眼了～～ㄏㄏ&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.ggpht.com/_QLg-dfVcHDM/SeK2oq3CvmI/AAAAAAAAV7w/vR43zuFdpSs/s512/iphone-2.jpg"&gt;&lt;img style="cursor: pointer; width: 318px; height: 512px;" src="http://lh3.ggpht.com/_QLg-dfVcHDM/SeK2oq3CvmI/AAAAAAAAV7w/vR43zuFdpSs/s512/iphone-2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;新的經驗～～objc並不會太複雜，只是覺得interface builder暗地裡幫工程師做太多有的沒的，因此決定不用interface builder，反倒覺得程式比較好寫（這叫犯賤嗎～～哈），不過～～要我去買一台mac我倒是會猶豫了，因為我覺得還是linux好用，不過如果跟M$比Mac還是有優勢啦～～哈。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-9135695029641283606?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/9135695029641283606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=9135695029641283606&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/9135695029641283606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/9135695029641283606'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2009/04/iphone.html' title='iPhone'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_QLg-dfVcHDM/SeK2oltV9VI/AAAAAAAAV7o/Fv8FXlC7juc/s72-c/iphone-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-2656327969862937388</id><published>2009-03-25T10:42:00.002+08:00</published><updated>2009-03-25T11:00:03.389+08:00</updated><title type='text'>軟體合法</title><content type='html'>今天在Slashdot看到一篇文章講到在工作上因為前一位職員幫公司內的PC都裝了盜版軟體，我想這個位置應該是類似MIS的工作吧，但是當他接手後，如果跟公司員工解釋說公司內部沒有這些軟體或是他是非法的，通常會讓對方非常生氣，因為～～以前那位仁兄都可以生出來。&lt;br /&gt;&lt;br /&gt;其實在資訊產業上班，尤其是小公司，這類的問題層出不窮，有時候甚至你不得不低頭，以我的例子來說，之前曾經在一個軟體公司，裡面的開發環境都是windows-base，當然沒辦法需要使用VC這類的編譯環境。上司拿給我盜版的軟體，安裝呢～～總覺得自己是這邪惡海盜王國的幫凶，不裝呢～～我怎麼工作？我想我是不會自己去買一套正版的，因為除了工作之外我根本不用windows。&lt;br /&gt;&lt;br /&gt;除了工作之外，生活上也是一樣的問題，因為自己從事軟體這行，親朋好友似乎把你當成補帖商，要啥軟體就跟我要，每一次要解釋這些版權的問題總是會引起一些『你是不想幫我吧』的感覺。介紹他們自由軟體～～恩，他們一點興趣都沒有，只想要使用那些『已經會使用』的軟體。&lt;br /&gt;&lt;br /&gt;所以現在我現在大多找linux上面的軟體設計工作，不過～～在linux上面開發軟體使用linux的機器對很多公司主管來說也是把我當怪人～～哈，很多從事linux程式設計的工程師都用windows平台，當然現在的VM都做的很有效率，不過總是缺乏一種使用者的觀感。這樣的問題或許在Mac與PC之間更為明顯，因為操作方式更大的差異（所以我也用WindowMaker來減少落差～～哈）。&lt;br /&gt;&lt;br /&gt;軟體合不合法在道德層面是件簡單的思考，我想大多數人都會義正詞嚴的說要保護智慧財產權，但當自己需要使用的時候，道德～～就留給跟小孩說教的時候使用。我喜歡我的linux box～～～因為～～我不用感到我是海盜的擁護者。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ask.slashdot.org/article.pl?sid=09/03/24/1524242&amp;amp;from=rss"&gt;Slashdot文章在此&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-2656327969862937388?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/2656327969862937388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=2656327969862937388&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/2656327969862937388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/2656327969862937388'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2009/03/blog-post.html' title='軟體合法'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-4549556862816898913</id><published>2009-02-27T15:37:00.002+08:00</published><updated>2009-02-27T15:59:39.751+08:00</updated><title type='text'>爭論點</title><content type='html'>那天跟公司的研發主管報告專案的程式部份，對我來說要跟別人解釋自己的程式重點我會放在架構，因此我把大多數的時間放在我怎樣使用共用的介面函數指標建立共用的物件（C語言），中間我提到一個東西被轟整場的，我說到～『我的callback function的prototype定義為.....』。&lt;br /&gt;&lt;br /&gt;後來這些老大們開始活絡起來（本來好像快睡著的樣子），他們突然開始說『callback function的定義是一定要有signal的事件引發一個function才能叫做callback function』，或許我才疏學淺吧，我怎麼印象中只要使用function pointer指到一特定的函數位置，讓某一機制的程式碼去呼叫這些函數就稱為callback，我印象中跟signal好像沒有直接關係。&lt;br /&gt;&lt;br /&gt;不過呢～～爭論一下下我就發現糟糕，因為其實這並不是重點，重點是這是主管要下『指導棋』的時候，所以其實我應該是要說『恩，原來我沒有注意到這麼深的學問』（ㄟ～～吐好看一點啦）。但我覺得很怪的是針對一個程式專案要討論或研究，架構才是重點，但老是把事情放在這種雞毛蒜皮的事情上面，難怪我很討厭開會～～ㄏㄏ。&lt;br /&gt;&lt;br /&gt;其實這也是我覺得我們的開發流程有問題的地方，我們一直把焦點放在GUI library上面，也就是大家都在討論～～～哪一個widget可以用、有沒有辦法用更簡單的方式把GUI拉好、顏色怎麼改.....等等，當然我不是說這不重要，只是這些東西在這些GUI論壇或甚至是google一下都可以有解答，但一個程式絕對不是有GUI就完成。（只要GUI不完成任何事的程式不就是示範程式嗎～～ㄏㄏ）&lt;br /&gt;&lt;br /&gt;這也讓我想到常常會有人問～～『你對某某library熟不熟』，我常常都不知道怎麼回答，我很少『熟悉』一個library，所以我寫程式一定要有網路，因為我要一直查API的網頁～～ㄏㄏ，但是我發現他們好強歐，用背的耶～～我的天呀。我對SQLite熟不熟～～『恩，我有使用SQL關聯式資料庫的概念，SQLite我知道他是用檔案式的小型資料庫』，這樣的回答基本上我的同事與長官們是會把我當異類的～～ㄏㄏ。&lt;br /&gt;&lt;br /&gt;哪些library有哪些API～～我沒有半個熟的，要用的時候我會上網查或甚至把include file打開搜尋一下也可以有個概念，但～～～不論開會的目的是啥，我想應該最終都是要解決問題，因此爭論點是否可以放在『我覺得這樣的架構有....的缺點』、『如果....設計是不是更好』，至於其他展現熟悉度與高深學問的爭議～～我就免了，畢竟～～我本來就不是高材生呀～～ㄏㄏ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-4549556862816898913?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/4549556862816898913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=4549556862816898913&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/4549556862816898913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/4549556862816898913'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2009/02/blog-post_27.html' title='爭論點'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-821210034437760274</id><published>2009-02-09T15:58:00.002+08:00</published><updated>2009-02-09T16:19:17.528+08:00</updated><title type='text'>一樣？</title><content type='html'>以前常常會跟PM吵架，現在大多我已經不吵了，原因大多數是因為工作職權分責。&lt;br /&gt;&lt;br /&gt;最近一些軟體專案要開始運作，不過往往負責規劃的人都很會拖，當然我也知道可以把一些基本架構寫好，不過至少要知道這個專案到底要完成哪些工作吧。其實大多數我遇到的狀況都是告知一個很大的框架，然後～～～～工程師應該可以寫了吧。&lt;br /&gt;&lt;br /&gt;以前記得有一間公司要做車用資訊系統，規劃的PM很有架式的把工程師叫進去，講了一推CarPC的未來多麼不可限量，然後～～要做啥？我當然知道是車上的資訊系統，只是除非是研發經費無限大、系統能力無限多、研發工程師要多少有多少....不然，還是得有個規劃吧。&lt;br /&gt;&lt;br /&gt;以前最常遇到的狀況是～～『阿你不會去看競爭對手有啥功能歐』，其實我很討厭這句話，當然我並不反對參考別人的設計，但那必須是去思考別人的設計用意為何，是否是個適合我們的設計方式，在我們的產品中是否該做如何的轉變。不過～～事實上～～上面的回覆通常是：跟他們一樣就好，比較安全。而且～更讓我奇怪的是，為何這些事情都變成工程師要去想辦法的？&lt;br /&gt;&lt;br /&gt;一樣的產品，何必在研發一次呢？當然我知道很多老闆都會用價格來取勝，但除非你偷到別人的設計原始稿會是原始碼，否則很多的東西都是複製表面的狀況，自然～～這類的產品破壞市場的功能多於創造新產品。&lt;br /&gt;&lt;br /&gt;現在的狀況其實變化不大，今天總部的PM來討論我對於設計上我覺得不太好用的功能與設計，對方的回答是『你說的其實我都同意，不過競爭對手都是這樣，我們就一樣就好』，一樣～～好吧～～那就一起浮沈吧。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-821210034437760274?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/821210034437760274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=821210034437760274&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/821210034437760274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/821210034437760274'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2009/02/blog-post_09.html' title='一樣？'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-7348232733610205219</id><published>2009-02-04T13:38:00.001+08:00</published><updated>2009-02-04T13:38:51.787+08:00</updated><title type='text'>教育券</title><content type='html'>記得不久之前，在美國舉辦的國際電子元件會議上面，美國的學者呼籲美國政府改善工程師的教育，以免讓美國的工程能力慢慢衰退，其中他們建議要培養T型人材，也就是除了在工程相關領域的研究之外，也要延伸到數學、科學甚至美學的領域，構成一種深入專業領域的廣泛應用人才。當然還有創造力，對於快速以商業力量獲利的美國企業，慢慢的把重心放在商業經營而缺少創新能量。&lt;br /&gt;&lt;br /&gt;對照現在政府採取教育券的模式，美國工程界的作法有何不同呢？首先，我們要改善的是基本教育面向，而不是技術。如果你看看這次政府官員在講這個政策，其實很大多數都是採用『技術訓練、快速上工』的思維，當然這凸顯了一個台灣教育體制的問題～～缺少實做精神。但我們應該如何改變這些狀況確實不應該由『技術訓練』著手，對於學校教育中能夠加強的應該是實際的應用思考。&lt;br /&gt;&lt;br /&gt;簡單來說，當我們在學校學習許多的電腦程式演算法的時候，老師常常講解理論，然後把重點放在每個演算法的效能評估上面（就是big-O函數～～ㄏㄏ），當然這應該要了解，只是問題在於除了這一個部份，現有這麼多學習的演算法，有哪些地方可以用到老師從來不講解。當這些學生出了社會，赫然發現許許多多的任務要去解決，但～～～不知如何下手。&lt;br /&gt;&lt;br /&gt;當然我們的工程師還有一個大問題也跟美國一樣，我們往往太過於專注於自己的領域，例如～～一個軟體工程師只對程式語言的議題感到興趣，其他的學識往往都一無興趣。但假設今天出現一個工作，希望工程師去完成一個應用程式，重點不在於軟體怎麼寫，而在於～～這個軟體怎麼運作，其中涉及的不是程式語言的範疇，而是～～～這個應該程式的know-how。&lt;br /&gt;&lt;br /&gt;工作中常常遇到一些學校剛畢業的學生，在學校的時候成績一把罩，但當面對一個沒有標準答案的工作任務～～～往往傻眼不知如何下手，他們常常需要你告訴他們怎麼開始寫，其實很多東西學校都有教過，只是不知道為何當面對到的時候，一定要有人跟他們說『這裡應該可以用liXXXXXnked list解決』『scanline演算法可以處理這一段』...，我覺得如何把學生所學的東西實際貫通才是最為重要的。&lt;br /&gt;&lt;br /&gt;台灣的科技產業歷經了大量代工的年代，因此很多優秀的畢業生，一畢業之後進到大公司往往就是開始做一些機械性重複的動作，這些優秀的學生在歷經多年這樣的職場訓練，往往也喪失了邏輯的處理能力。記得多年前有學者呼籲企業界讓員工開始創新，否則台灣的資訊產業將停留在代工、製程改善的死胡同。或許這才是目前台灣科技產業最大的問題，為何大量裁撤掉工程師，因為～～～這些工程師對公司來說只是螺絲釘，具有標準規格，之後在買就好，這樣子代工模式思維其實大量存在我們許多科技產業。&lt;br /&gt;&lt;br /&gt;因此，如果要解決高學歷失業的問題，如何改變科技產業結構比讓畢業生重新受技能訓練重要，畢竟要讓市場上產生高學歷學生的需求比改變這些學生去符合現在產業來的長遠。其實現在高學歷失業的問題也凸顯一個有趣的問題是，我們這個社會真的需要這麼多大學生嗎？或是說需要這麼多科技相關領域的高知識份子？資訊產業對於台灣來說有一種磁吸作用，它往往讓其他較有未來的產業的社會資源被排擠，所以或許少一些資訊博士，多一些文化博士、音樂人才、農業專家.....會對這個社會產生比較正面的改變。&lt;br /&gt;&lt;br /&gt;與其花許多的錢發放教育券，我倒是覺得認真思考我們的教育政策來的充實些。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-7348232733610205219?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/7348232733610205219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=7348232733610205219&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/7348232733610205219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/7348232733610205219'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2009/02/blog-post.html' title='教育券'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-1996543949588410818</id><published>2009-01-12T16:36:00.002+08:00</published><updated>2009-01-12T16:57:24.415+08:00</updated><title type='text'>Gtk+上使用stack</title><content type='html'>Gtk+是在linux上面使用十分頻繁的GUI library，許許多多的project都以它為front-end的介面程式，最近使用Gtk+的時候，產生了一個簡單的需求：Stack，但找了一下glib裡面發現卻沒有stack的支援，看來要自己去寫。&lt;br /&gt;&lt;br /&gt;不過～～我真的很懶，於是我看了一下，恩～～用linked-list來幫我完成這項工作吧。&lt;br /&gt;&lt;br /&gt;首先，當然你必須宣告一個glib的linked-list，你可以宣告成全域變數或是在每一個push與pop的參數列將它傳入，當然用參數比較具有彈性，這個stack可以到處使用，我這邊的stack只有一個地方需要使用，於是～～我簡單的把他宣告成全域變數&lt;br /&gt;&lt;br /&gt;GList *MyStackList = NULL;&lt;br /&gt;&lt;br /&gt;一個stack的資料結構其實很簡單，就是資料後進先出，它擁有兩個簡單的介面：push與pop，我們用GList來幫我們簡化這些程式碼。首先，push的實做：&lt;br /&gt;&lt;br /&gt;void _my_stack_puch(struct _my_own_data *data)&lt;br /&gt;{&lt;br /&gt;         struct _my_own_data *ptr = (struct _my_own_data *)g_malloc(sizeof(struct _my_own_data));&lt;br /&gt;         ptr-&gt;data1 = data-&gt;data1;&lt;br /&gt;  .....其他你的資料需要複製的部份，當然～～最簡單就是memcpy.......&lt;br /&gt;&lt;br /&gt;         MyStackList = g_list_prepend(MyStackList, (gpointer)ptr);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;每一次插入一個元素我就宣告一個然後放置在linked-list的前端。簡單吧，再來就是pop的實做了：&lt;br /&gt;&lt;br /&gt;gboolean _my_stack_pop(struct _my_own_data *data)&lt;br /&gt;{&lt;br /&gt;      struct _my_own_data *ptr;&lt;br /&gt;&lt;br /&gt;      if (MyStackList == NULL)&lt;br /&gt;            return FALSE;&lt;br /&gt;&lt;br /&gt;      ptr = (struct _my_own_data *)g_list_nth_data(MyStackList, 0);&lt;br /&gt;      if (ptr == NULL)&lt;br /&gt;            return FALSE;&lt;br /&gt;&lt;br /&gt;      data-&gt;data1 = ptr-&gt;data1;&lt;br /&gt;  .....其他你的資料需要複製的部份.......&lt;br /&gt;&lt;br /&gt;      g_free(ptr);&lt;br /&gt;      MyStackList = g_list_delete_link(MyStackList, MyStackList);&lt;br /&gt;&lt;br /&gt;      return TRUE;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;只是GList的刪除link的動作，不過要記得這個我們在pop分配的記憶體要記得刪除這個link前先釋放掉。&lt;br /&gt;&lt;br /&gt;這樣就簡單的完成一個用GList實做出來的stack可以使用，你當然可以再寫一個清除所有stack裡面元素的function，這很簡單我就不寫了。簡單的利用別人寫好的程式，我想這才是使用open source最好的方式吧。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-1996543949588410818?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/1996543949588410818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=1996543949588410818&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/1996543949588410818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/1996543949588410818'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2009/01/gtkstack.html' title='Gtk+上使用stack'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-521592975704662510</id><published>2008-12-18T12:06:00.000+08:00</published><updated>2008-12-18T12:07:08.488+08:00</updated><title type='text'>不告訴別人～還是偷</title><content type='html'>不管到哪一個工作，總是會有一個現象，主管要求你『偷』東西。&lt;br /&gt;&lt;br /&gt;自從open source的概念興盛於這個世界後，你隨便上網都可以找到一大推不用錢又好用的軟體，很多甚至連程式原始碼都給你下載，當然使用上不需要付錢，但～～要求你必須承認你使用人家的軟體。台灣（或許是世界上都這樣吧～～我只是一個台灣土包子工程師）的很多公司都有一個不好的文化：喜歡拿open source的project來更改一下，然後開始號稱自己的研發能力很強，產品很快就可以做出來。&lt;br /&gt;&lt;br /&gt;記得以前一個業務的朋友跟我說『我們可以找到這些project來改也是我們的實力呀』，這話其實聽了很悲哀，因為這跟實力一點關係都沒有，這是一種基本的誠實問題。工程師通常會面臨一個嚴重的挑戰，現在的老闆通常知道有open source這種東西（儘管他們自己都用付費軟體～～歐，原來～～沒付費呀～～ㄏㄏ），所以老闆通常會給工程師一個難題：『你拿這些來改很快可以有產品，不然你同樣時間寫出來我就不管』。因此～～軟體工程師開始墮落、開始閉上眼睛。&lt;br /&gt;&lt;br /&gt;其實長久以來慢慢的發現這些偷來的專案慢慢的也會消失，因為主要是別人的『智慧』，除非你願意花時間完整去了解整個程式，否則只是一種應付的心態，自然遇到後期的困難越來越多，也就越凸顯對於程式的無知，而後期的時間壓力更大。當然我不否認現在很多企業跟open source合作的很好，也都儘量遵守open source license的規範，但我們也必須承認的是，依然有許多公司會用偷的。（至少我就遇到很多間）&lt;br /&gt;&lt;br /&gt;今天老闆還是要求我去找一個軟體來偷放在我們的機器上，我需要找一個類似小畫家的軟體，其實根本上我不覺得這種軟體在我們小小的3吋顯示螢幕上有何用處（每個icon都已經小到要有很準確的螢幕點取能力～～ㄏㄏ），當然老闆想要的原因也很簡單～～因為競爭對手有。這樣的開發心態其實存在很多的專案，記得看過使用者介面設計的文章有提過：不要在乎使用者說的需求，要去觀察使用者應該如何完成工作。&lt;br /&gt;&lt;br /&gt;在這樣充滿各種eye-candy的產品的時代，使用者已經習慣要求各種美麗的第一印象，但是往往買完才會發現自己根本用不到這些功能，更慘的是～～有時候還會發現自己要的功能不足。所以一個負責任的產品設計應該著重於使用者的操作，而不是使用者的眼睛，當然設計者也應該避免寵物理論（就是把使用者當成寵物，覺得你可以訓練他的操作行為），重點是研究使用者如何完成他的工作，然後設計出符合這樣操作流程的好用介面。&lt;br /&gt;&lt;br /&gt;我們習慣告訴小孩～～不能偷拿別人的東西，但～～～～這樣的法則似乎不存在於商業的世界。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-521592975704662510?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/521592975704662510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=521592975704662510&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/521592975704662510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/521592975704662510'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2008/12/blog-post_18.html' title='不告訴別人～還是偷'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-7156185972531084157</id><published>2008-12-17T14:53:00.002+08:00</published><updated>2008-12-17T15:15:32.118+08:00</updated><title type='text'>工程師的創世紀</title><content type='html'>當軟體工程師久了慢慢的也接觸過不少專案，有一些專案是從頭開始的，通常一個從頭開始的專案會不會成功，一開始就看得出端倪。&lt;br /&gt;&lt;br /&gt;或許現在視覺化的工具太多，因此很多工程師都每天忙著畫使用者介面，當然一個程式要有互動性，使用者介面是很重要的，但～～它該是一個專案的創世紀篇嗎？不少時候專案領導者在開始新專案的時候，都是要求『我畫面上要有三個按鈕』、『這裡的圖如果會跳動一定很炫』、『這個字型應該用美麗一點的』...等等。發現了嗎，一個專案由視覺開始，這～～不好嗎？&lt;br /&gt;&lt;br /&gt;我相信一個程式他的使用者介面是一個小小的部份，通常那只是展現的問題，所以每次當面試的時候有人問說『那個OOXX的library你有多熟』，恩～～我都會回答，可以上網查跟看書就很熟，不行～～就不熟。其實大多數的圖形介面library都做的很容易上手，當然你要給它弄的不像原來library的呈現就要花功夫，但～～那也是你自找的。&lt;br /&gt;&lt;br /&gt;用使用者介面當成思考的起點通常有一個大麻煩，就是實際內部運作的程式碼常常會跟圖形library綁在一起怎麼也切不開，當然如果你對一個GUI library至死不渝，那我沒有意見，但如果要你換一個GUI～～你會不會想哭。很多Open Source的程式都可以有不同GUI的支援，因為他們通常把程式運算與程式呈現分的很清楚，這樣容易讓自己的程式那多樣化的作業系統（如linux）執行無誤。會這樣設計的程式，我相信一開始不會用使用者介面當成思考的起點，因為～～那不重要，重要的是這程式要完成哪一種任務。&lt;br /&gt;&lt;br /&gt;商用產品通常用介面著手，因為商業人士了解到外觀是觸動你『想要』的重要因素，但滿足你『需要』的要素卻是內部的功能，因此站在一個業務的立場，當然希望外觀越美越好，但～～從工程的角度出發，是否該從程式架構與功能需求著手呢？&lt;br /&gt;&lt;br /&gt;我當然不是說美麗的UI不重要，但應該仔細想想的是一個成功的產品一定具有人性化的操作方式（我是說操作方式，不是美麗的圖示），當然也會具有可愛讓人愛不釋手的介面，但營造這個可愛的介面前應該由程式的行為著手思考，有了行為～～再去分配外觀。&lt;br /&gt;&lt;br /&gt;多年了我還是不習慣台灣很多軟體設計都先寫UI，在一個Do-nothing的UI上再去開發程式，這樣的下場通常都是讓程式越來越混亂，不過好像常常都是這樣，或許我們的主管們也必須在看到畫面後才能開始思考功能吧～～～這～～我有點不能理解。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-7156185972531084157?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/7156185972531084157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=7156185972531084157&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/7156185972531084157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/7156185972531084157'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2008/12/blog-post_17.html' title='工程師的創世紀'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-3696012652039559181</id><published>2008-12-15T14:12:00.000+08:00</published><updated>2008-12-15T14:13:29.593+08:00</updated><title type='text'>講或不講～～～思考中</title><content type='html'>每次我對於一個開發linux軟體的公司，對於員工使用linux當成平台很困擾的狀況，都會感到十分詭異。&lt;br /&gt;&lt;br /&gt;或許因為這些主管本身都是使用windows的作業環境，因此說實話他們對於linux很不熟悉，但～～他要指導工程師如何寫linux的程式，當然對於不同的環境每個人的編譯方式自然不同，反正最終還是要進到linux環境下面執行。對於習慣在linux下面開發程式的朋友應該很熟悉 autoconf與automake這些工具，他讓你可以快速的產生一個編譯環境，當然～～他不是圖形化的工具。&lt;br /&gt;&lt;br /&gt;主管對於我的程式裡面有這些autotool產生的檔案非常不以為然，他今天下了指導旗，他覺得這些『不必要』的檔案不應該存在專案中，我想或許他沒有寫過具有大量程式檔的專案經驗吧，當你的程式檔案很多的時候，自己一行一行編寫Makefile可是一大通苦的差事。上次有跟他解釋過這些檔案並不是『無用的』，不過～～看來他無法接受，恩～～好吧～～對他無用就是無用。&lt;br /&gt;&lt;br /&gt;我想這些MS體系出身的工程師，對於非MS的編譯環境自然感到十分排斥（其實跟我不習慣MS的環境是一樣的道理），但至少必須承認不同的方式也是一種方式，而不是～～～非我族類者殺之。&lt;br /&gt;&lt;br /&gt;現在的我有兩個選項，一個是每次送程式碼給他的時候就自己辛苦點把這些設定檔刪除不要讓他看到，一個是繼續跟他說明，不過這會讓我想到一些過往的經驗，通常我的下場會是～～～此員工頑劣固執難相處。所以～～或許我會選擇就隨波逐流吧，反正，就是一個寫程式的小角色，高層～～～總是有讓人摸不透的思考的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-3696012652039559181?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/3696012652039559181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=3696012652039559181&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/3696012652039559181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/3696012652039559181'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2008/12/blog-post.html' title='講或不講～～～思考中'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-4943067903770287349</id><published>2007-04-30T16:27:00.001+08:00</published><updated>2007-04-30T16:27:54.884+08:00</updated><title type='text'>空間判斷小問題（一）</title><content type='html'>最近同事的工作上出現了一個小小的問題與主管討論，這是一個關於空間的判定問題，簡單的說就是：今天有一個圖形上面充滿了許多的區域，也就是說一個有許多&lt;span style="font-family:Times New Roman, serif;"&gt;polygon&lt;/span&gt;的圖形，當使用者用滑鼠點選螢幕的一個位置的時候，程式必須決定使用者選取了哪一個位置而做出相對應的反應。這樣的問題在&lt;span style="font-family:Times New Roman, serif;"&gt;graph&lt;/span&gt;裡面算是一個簡單的小問題，當然也可以不用&lt;span style="font-family:Times New Roman, serif;"&gt;graph&lt;/span&gt;的方式解決，後來同事似乎用顏色判別來解決（每一區用一個顏色代表），但是當我們必須使每一區域都一樣的顏色或是顏色會改變時，就得真正的去面對空間的問題.....&lt;a href="http://joepasscheng.googlepages.com/polygon-check-1"&gt;繼續閱讀&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-4943067903770287349?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/4943067903770287349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=4943067903770287349&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/4943067903770287349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/4943067903770287349'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2007/04/blog-post.html' title='空間判斷小問題（一）'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-8163133662406681051</id><published>2007-04-11T11:43:00.000+08:00</published><updated>2007-04-11T11:55:13.311+08:00</updated><title type='text'>Google notebook</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QLg-dfVcHDM/RhxaddSqvnI/AAAAAAAABY4/mfHX6G33HY8/s1600-h/1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_QLg-dfVcHDM/RhxaddSqvnI/AAAAAAAABY4/mfHX6G33HY8/s400/1.jpg" alt="" id="BLOGGER_PHOTO_ID_5052012344128487026" border="0" /&gt;&lt;/a&gt;google最近開啟了一個新的服務: notebook&lt;br /&gt;這個記事本的功能我個人覺得很挺好用的&lt;br /&gt;除了你可以登入去使用外&lt;br /&gt;google notebook也有firefox的擴充套件&lt;br /&gt;因此你可以把記事本放在你的firefox右下方&lt;br /&gt;我覺得挺方便的&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QLg-dfVcHDM/RhxajtSqvoI/AAAAAAAABZA/wC-O22y62zY/s1600-h/2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_QLg-dfVcHDM/RhxajtSqvoI/AAAAAAAABZA/wC-O22y62zY/s400/2.jpg" alt="" id="BLOGGER_PHOTO_ID_5052012451502669442" border="0" /&gt;&lt;/a&gt;我覺得google notebook對我來說最好的是當作工作筆記&lt;br /&gt;因為它可以有分享的功能(筆記本旁邊的兩個小人就是有分享)&lt;br /&gt;我覺得這對於再工作時候的共用筆記很棒&lt;br /&gt;因為一些小小的project要去弄個project網站弄共用筆記好像很麻煩&lt;br /&gt;因此這樣的東西就是一個很好的替代品&lt;br /&gt;&lt;br /&gt;不知不覺我的google service也越來越多了耶 ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-8163133662406681051?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/8163133662406681051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=8163133662406681051&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/8163133662406681051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/8163133662406681051'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2007/04/google-notebook.html' title='Google notebook'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QLg-dfVcHDM/RhxaddSqvnI/AAAAAAAABY4/mfHX6G33HY8/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-2800478026703647301</id><published>2007-03-22T16:06:00.000+08:00</published><updated>2007-03-22T16:22:05.516+08:00</updated><title type='text'>AGG: Anti-Grain Geometry</title><content type='html'>最近在學習AGG這個2D圖形library，覺得他真的很棒&lt;br /&gt;反鋸齒的展示2D圖形在向量圖中的表現關係到整體感覺&lt;br /&gt;AGG在這個方面表現的十分出色&lt;br /&gt;AGG是一個用C++來實作的library，他用了大量的template來作泛型化設計&lt;br /&gt;因此它的使用十分具有彈性&lt;br /&gt;在跨平台上面他也是很棒&lt;br /&gt;幾乎所有的code都是跨平台的&lt;br /&gt;惟一與平台有關的是在OS event與drawing上面&lt;br /&gt;因此他利用了一個類別稱為platform_support來處理與OS相關的&lt;br /&gt;在platform_support裏面的platform_specific他只宣告它是一個類別&lt;br /&gt;所有跟OS相關的資料結構妳可以宣告在這個類別中&lt;br /&gt;因此將AGG放進目前不支援的drwaing library是非常簡單的&lt;br /&gt;AGG目前有X11、SDL、Mac與win32的支援&lt;br /&gt;我實作了DirectFB的支援，還挺容易的&lt;br /&gt;&lt;br /&gt;AGG自己有一套control系統，現在已經有一些基本的control&lt;br /&gt;譬如check box與slide-bar等等的控制元件&lt;br /&gt;在字型顯示方面，他有提供freetype的支援&lt;br /&gt;因此在文字顯示也不是問題&lt;br /&gt;我試過utf-8的中文顯示很棒&lt;br /&gt;但是在轉換unicode碼的部份妳要自己實作&lt;br /&gt;不過這部份並不困難就是&lt;br /&gt;&lt;br /&gt;結合AGG+DirectFB+SVG&lt;br /&gt;或許可以有一些有趣的project可以玩玩歐&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-2800478026703647301?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/2800478026703647301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=2800478026703647301&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/2800478026703647301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/2800478026703647301'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2007/03/agg-anti-grain-geometry.html' title='AGG: Anti-Grain Geometry'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-7903384799499209607</id><published>2007-03-14T14:57:00.000+08:00</published><updated>2007-03-14T14:59:04.332+08:00</updated><title type='text'>淺談OpenSER(三)</title><content type='html'>&lt;p&gt;在整個openser.cfg中最重要的大概就是你怎麼處理route裏面的規則，這裡給你做一個簡單的示範。&lt;/p&gt;&lt;p&gt;通常一開始會先檢查SIP message是否是合法的，因此我們對SIP message的forward header與message長度作檢查.......&lt;a href="http://joepasscheng.googlepages.com/openser-3"&gt;繼續閱讀&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-7903384799499209607?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/7903384799499209607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=7903384799499209607&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/7903384799499209607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/7903384799499209607'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2007/03/openser_14.html' title='淺談OpenSER(三)'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-6803733398342080286</id><published>2007-03-01T12:01:00.000+08:00</published><updated>2007-03-01T12:03:08.835+08:00</updated><title type='text'>淺談OpenSER(二)</title><content type='html'>&lt;p&gt;如果妳打開openser.cfg這個檔案，第1眼印象妳可能會以為它是一個script檔案，其實這樣說也沒有不對，但是之前說過這個script其實是lex的輸入文檔，因此妳必須滿足它的字彙規則，讓我們先簡單看一下這個檔案。&lt;/p&gt;&lt;p&gt;這個設定OpenSER的動作檔案簡單可以分成4個部份，分別如下......&lt;a href="http://joepasscheng.googlepages.com/openser-2"&gt;繼續閱讀&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-6803733398342080286?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/6803733398342080286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=6803733398342080286&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/6803733398342080286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/6803733398342080286'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2007/03/openser.html' title='淺談OpenSER(二)'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-848676771835636647</id><published>2007-02-13T15:47:00.000+08:00</published><updated>2007-01-26T18:23:25.414+08:00</updated><title type='text'>淺談OpenSER(一)</title><content type='html'>&lt;p&gt;VoIP這種應用已經常識了很多年，卻似乎一直沒有太大的成果，當然這涉及到很多的問題，不過以SIP為基礎的原則也越來越確定(好啦，我知道妳用 Skype)。很多人對於VoIP總是感覺像是高不可攀的技術，但其實它並不如此的困難，尤其是有了自由軟體世界的努力，很多Project都可以讓妳輕 鬆的完成你的VoIP規劃。&lt;/p&gt;當然VoIP是一個很廣泛的稱乎，舉凡用網路即時傳遞交換語音訊號其實都可以稱為Voice over Internet，但是VoIP還必須要涉入一些電信的領域，也就是signaling的動作。 就如同PSTN一般，VoIP也需要一個傳遞訊號的機制來建立通訊的兩端，SIP便負責了這件工作。一個SIP的register server可以讓妳每一個SIP client來交換訊息，當你要打電話給另一個朋友，在網路上妳必須要能先找到他，也就是對方的網路位置，但是當你的網路位置會改變的時候，一個可以記錄 你的網路位置的SIP register server便可以發揮功能.....&lt;a href="http://joepasscheng.googlepages.com/openser"&gt;繼續閱讀&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-848676771835636647?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/848676771835636647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=848676771835636647&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/848676771835636647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/848676771835636647'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2007/02/openser.html' title='淺談OpenSER(一)'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-4550335660451620210</id><published>2007-01-26T18:17:00.000+08:00</published><updated>2007-01-26T18:23:25.450+08:00</updated><title type='text'>OpenSSL 0.9.8</title><content type='html'>之前提過&lt;a href="http://joepasscheng.googlepages.com/openssl"&gt;使用OpenSSL的方式&lt;/a&gt;&lt;br /&gt;OpenSSL 0.9.7版本的方式在0.9.8d並不能正常運作&lt;br /&gt;後來發現是SSL_library_init()與OpenSSL_add_all_algorithms()的問題&lt;br /&gt;不要在使用這兩個function，請使用&lt;br /&gt;SSleay_add_ssl_algorithms()&lt;br /&gt;來代替&lt;br /&gt;換成OpenSSL0.9.8d後可以把我搞慘了呀....ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-4550335660451620210?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/4550335660451620210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=4550335660451620210&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/4550335660451620210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/4550335660451620210'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2007/01/openssl-098.html' title='OpenSSL 0.9.8'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-6723581643813096103</id><published>2007-01-25T15:15:00.000+08:00</published><updated>2007-01-25T15:22:15.448+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><title type='text'>Gentoo 2006.1 stage 1</title><content type='html'>好久沒有安裝linux了&lt;br /&gt;最近有了一台新的硬體&lt;br /&gt;想說給他裝一下Gentoo&lt;br /&gt;於是乎抓了2006.1的install CD image後&lt;br /&gt;開始從stage1給他安裝&lt;br /&gt;(好啦...我知道我很閒...時間多)&lt;br /&gt;發現2006.1版本stage1有個問題&lt;br /&gt;當我用bootstrap.sh完要emerge system後&lt;br /&gt;發生perl的module有些問題&lt;br /&gt;看到是ExtUtils:MakeMaker:Config.pm的問題&lt;br /&gt;對於perl我是非常陌生的...&lt;br /&gt;但是當我&lt;br /&gt;emerge unmerge perl&lt;br /&gt;emerge perl&lt;br /&gt;一切就回到正常了&lt;br /&gt;看來是stage1的tar ball裏面有些問題&lt;br /&gt;不過....小問題....這個世界又多一台linux box了...ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-6723581643813096103?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/6723581643813096103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=6723581643813096103&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/6723581643813096103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/6723581643813096103'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2007/01/gentoo-20061-stage-1.html' title='Gentoo 2006.1 stage 1'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-116900715435683490</id><published>2007-01-17T12:11:00.000+08:00</published><updated>2007-01-17T12:12:34.370+08:00</updated><title type='text'>State Design Pattern</title><content type='html'>&lt;p&gt;以前寫程式的時候大多數寫一些具有互動UI的程式，因此所有的程式動作都決定於某一個event的發生，不過在很多的情況知下卻需要程式自己決定下 一步的動作，這種需求在自動化的設備中更是重要。以前唸書時相信大家都唸過finite state machine這樣的觀念，自己那個時候還真的是有念.....還真的沒有懂.....因為不知道如何應用....ㄏㄏ。&lt;/p&gt;慢慢在工作上遇到 一些要求後才開始體認state machine是很重要的，但是當你用條件判斷式去決定下一個動作來實作state machine的時候，你會面臨一個問題：上面的長官對於程式的行為很喜歡改來改去....ㄏㄏ。因此每每加上一個新的state的時候都會搞得人揚馬翻 的，每次遇到程式的彈性不夠的時候，就會想起C++的可愛。在之前看Design Pattern的書的時候，曾經看到一種design pattern的設計：State。這次就讓我來試試實做一下吧....&lt;a href="http://joepasscheng.googlepages.com/statedesignpattern"&gt;繼續閱讀&lt;/a&gt; &lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="連結" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-116900715435683490?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/116900715435683490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=116900715435683490&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116900715435683490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116900715435683490'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2007/01/state-design-pattern.html' title='State Design Pattern'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-116801663238317015</id><published>2007-01-06T00:55:00.000+08:00</published><updated>2007-01-06T01:03:52.396+08:00</updated><title type='text'>FON</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/309/693/1600/715779/fon.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/309/693/320/91446/fon.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;很榮幸能夠獲得一台幾乎免費的FON router&lt;br /&gt;等了一段時間後終於收到我的FON router了&lt;br /&gt;經過一些簡單的設定後&lt;br /&gt;終於正式脫離Alien進入Linus的身份了&lt;br /&gt;加油吧.....FON&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-116801663238317015?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/116801663238317015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=116801663238317015&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116801663238317015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116801663238317015'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2007/01/fon.html' title='FON'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-116798861784163067</id><published>2007-01-05T17:15:00.000+08:00</published><updated>2007-01-05T17:16:57.853+08:00</updated><title type='text'>用OpenSSL來保護你的資料</title><content type='html'>&lt;p&gt;隨著網路安全的議題越來越受重視，現在的網路應用程式多少都要加上加密保護的機制，PKI這樣的機制也漸漸成為避免不了的東西。或許我們不是網路安 全的專家，不用去完全了解那些機制的原理，但是使用open source的library來將你的網路程式加上保護卻不是十分複雜的工作，OpenSSL便是一個十分出色的library，今天我們來談談PKI的 程式吧。&lt;/p&gt;&lt;p&gt;簡單來說PKI(&lt;b&gt;public key infrastructure&lt;/b&gt;)就是通訊的雙方都有一份公鑰(public key)與私鑰(private key)，公鑰只能用來加密，而私鑰只能用來解密，一個PKI的session就是一個交換公鑰的過程，這樣一來對方可以用你的公鑰加密而只有你的私鑰可 以解密，你用對方的公鑰來加密，相對的也只有對方的私鑰可以解密，這樣的機制免除了網路上傳遞密碼的問題。&lt;/p&gt;讓我們來看看如何用OpenSSL來幫助你寫出PKI的程式吧.....&lt;a href="http://joepasscheng.googlepages.com/openssl"&gt;繼續閱讀&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-116798861784163067?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/116798861784163067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=116798861784163067&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116798861784163067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116798861784163067'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2007/01/openssl.html' title='用OpenSSL來保護你的資料'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-116650124438712300</id><published>2006-12-19T12:02:00.000+08:00</published><updated>2006-12-19T12:07:24.410+08:00</updated><title type='text'>dev-c++的sleep</title><content type='html'>最近把一些source要搬到windows平台上&lt;br /&gt;利用dev-c++來當開發平台&lt;br /&gt;(不知道為何，一到windows就會想用IDE...ㄏㄏ)&lt;br /&gt;在一個簡單的地方讓我很.....沒力&lt;br /&gt;不知怎麼了stdlib.h裏面的sleep竟然一直跟我說沒有宣告&lt;br /&gt;進去dev-c++的include目錄下看了一下stdlib.h&lt;br /&gt;發現....他的宣告是 _sleep&lt;br /&gt;...........&lt;br /&gt;不是很清楚為何要改加底線&lt;br /&gt;但是這樣就OK啦&lt;br /&gt;不過_sleep裏面的參數是microsecond而在linux的sleep裡面是second&lt;br /&gt;要寫出跨平台的程式碼要考慮的還真多呢...ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-116650124438712300?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/116650124438712300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=116650124438712300&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116650124438712300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116650124438712300'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/12/dev-csleep.html' title='dev-c++的sleep'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-116642415587372624</id><published>2006-12-18T14:24:00.000+08:00</published><updated>2006-12-18T14:42:35.886+08:00</updated><title type='text'>這個世界不是只有PHP這種語言好嗎</title><content type='html'>最近感覺一種深深的無力感&lt;br /&gt;其實在台灣也待過不少"小"公司&lt;br /&gt;我的個性其實自由慣了，又不喜歡去面對那種太官僚式的職場&lt;br /&gt;所以一直沒有去面對那種需要"ㄚ信"的精神才等的到的股票&lt;br /&gt;小公司當然有小公司的好處&lt;br /&gt;但是缺點也不少&lt;br /&gt;我想最嚴重的大概就是沒有好好規劃的習慣吧&lt;br /&gt;這些小公司大多數老闆都兼做業務&lt;br /&gt;因此常常對於一個產品就是希望能儘快推出為第1優先&lt;br /&gt;因此在初步選擇上就會用最簡單的方式來做東西&lt;br /&gt;現在的工作環境裏面幾乎都是PHP的人才&lt;br /&gt;因此上面的技術指導人員似乎覺得PHP可以搞定所有&lt;br /&gt;甚麼東西第一個想到的就是PHP&lt;br /&gt;我並非不喜歡PHP&lt;br /&gt;當要用Web application的時候，PHP確實是個很棒的語言&lt;br /&gt;但是當需求不一樣時，我想應該要好好思考PHP是不是適合&lt;br /&gt;而不是為了要用PHP，到處都是Apache的身影&lt;br /&gt;為了用PHP....所有的東西都必須配和PHP&lt;br /&gt;好死不死PHP的彈性並不高&lt;br /&gt;最簡單的就是當client根本沒有web browser(甚至連X window都沒有)&lt;br /&gt;這個時候指導方針還是....web page寫好了呀&lt;br /&gt;你只要連上去就可以啦.......我當然知道....&lt;br /&gt;&lt;br /&gt;很想說.........這個世界絕對不是只有一種程式語言.......PHP&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-116642415587372624?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/116642415587372624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=116642415587372624&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116642415587372624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116642415587372624'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/12/php.html' title='這個世界不是只有PHP這種語言好嗎'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-116593691521437257</id><published>2006-12-12T22:55:00.000+08:00</published><updated>2006-12-12T23:21:55.386+08:00</updated><title type='text'>你還在用"我的最愛"嗎</title><content type='html'>我想有用過Web browser的朋友應該都用過"我的最愛"的書籤功能&lt;br /&gt;(應該說有用過windows的朋友比較洽當)&lt;br /&gt;多年以來，書籤也只忠實的紀錄你想再次瀏覽的網頁link&lt;br /&gt;隨著web 2.0在各種文章裏面大書特書後&lt;br /&gt;書籤也進化成了社群功能的一種型態&lt;br /&gt;&lt;br /&gt;當然，首先遇到的一個問題是&lt;br /&gt;當你重新安裝你的OS而忘了備份你的"我的最愛"時&lt;br /&gt;應該是有一點"搥心肝"的感覺吧&lt;br /&gt;這個時候當然會想把這些書籤放到網路上面去&lt;br /&gt;一個典型的例子便是&lt;a href="http://www.google.com/tools/firefox/browsersync/"&gt;Google的web sync&lt;/a&gt;&lt;br /&gt;他利用你的google帳號將你的書籤存在google那邊&lt;br /&gt;當你使用firefox的時候這個套件將會同步你本地的書籤&lt;br /&gt;(只有firefox啦...IE...自求多福)&lt;br /&gt;&lt;br /&gt;以web sync的作用就是儲存自己的書籤&lt;br /&gt;但是慢慢就有人想要把自己的書籤與朋友或是不認識的人分享&lt;br /&gt;這時候書籤便與社群的功能產生了結合&lt;br /&gt;一個元老級的書籤社群便是&lt;a href="http://del.icio.us"&gt;del.icio.us&lt;/a&gt;&lt;br /&gt;你可以分享自己的書籤給網路上的朋友&lt;br /&gt;甚至加上自己的註解&lt;br /&gt;firefox的朋友更可以安裝del.icio.us的套件&lt;br /&gt;這樣你便可以直接tag你喜歡的網頁&lt;br /&gt;也可以直接跳到自己的書籤首頁&lt;br /&gt;&lt;br /&gt;看到一堆英文會頭暈嗎&lt;br /&gt;沒關係，台灣的社群的朋友也是很熱心的&lt;br /&gt;&lt;a href="http://www.hemidemi.com/"&gt;黑米書籤HEMiDEMi&lt;/a&gt;便是本土的書籤社群&lt;br /&gt;黑米很強調社群的功能&lt;br /&gt;因此你可以在不同分類裡找自己有興趣的主題&lt;br /&gt;看看大家對這個主題的討論&lt;br /&gt;加入某些特定興趣的族群....&lt;br /&gt;總之，他架構一個強大的討論社群&lt;br /&gt;&lt;br /&gt;你還呆呆的在用"我的最愛"嗎&lt;br /&gt;唉~~~~朋友~~~~就算不是嚐鮮一族&lt;br /&gt;現在也該跟上時代了...ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-116593691521437257?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/116593691521437257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=116593691521437257&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116593691521437257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116593691521437257'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/12/blog-post.html' title='你還在用&quot;我的最愛&quot;嗎'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-116373191170355779</id><published>2006-11-17T10:37:00.000+08:00</published><updated>2006-11-17T10:51:51.716+08:00</updated><title type='text'>GSpace+Fon</title><content type='html'>之前介紹過Fon這個有趣的網路分享裝置&lt;br /&gt;雖然比原本進度慢了一些&lt;br /&gt;但是Fon總算要開始銷售他的裝置Fon Liberator&lt;br /&gt;就在此時，Fon宣佈了併購GSpace&lt;br /&gt;Google與firefox的使用者應該對這個擴充套件不陌生吧&lt;br /&gt;GSpace利用你的GMail帳號有2G的空間特性&lt;br /&gt;他把這些網路空間變成一個網路儲存設備&lt;br /&gt;簡單來說，他會用你自己的gmail帳號發一封有附加檔的mail給自己&lt;br /&gt;而GSpace這個套件可以把這些mail取出變成一個網路儲存空間&lt;br /&gt;聽不懂嘛....看看圖吧&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/gspace-file.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/400/gspace-file.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;不過他不只有這些而已，GSpace有照片瀏覽模式&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/gspace-pic.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/400/gspace-pic.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;當然，我們放在上面的mp3也要給他線上play一下&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/gspace-1.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/400/gspace-1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;我想Fon的發展因為OpenWRT的成熟與壯大&lt;br /&gt;他未來會有更多令人期待的新鮮玩意&lt;br /&gt;(挺佩服Martin Varsavsky的)&lt;br /&gt;你沒用過GSpace嗎....快去試試吧&lt;br /&gt;啥....你還在用IE......自己保重吧.......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-116373191170355779?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/116373191170355779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=116373191170355779&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116373191170355779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116373191170355779'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/11/gspacefon.html' title='GSpace+Fon'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-116352705015460375</id><published>2006-11-15T01:36:00.000+08:00</published><updated>2006-11-15T01:57:30.233+08:00</updated><title type='text'>好久不見啦: PHP</title><content type='html'>記得我上次接觸PHP是我剛畢業時的第一份工作&lt;br /&gt;那時候還是PHP3的時代&lt;br /&gt;現在PHP都到了5代了&lt;br /&gt;那個時候的公司原本要弄一個新聞發佈平台&lt;br /&gt;我那時要以PHP為base去實做&lt;br /&gt;雖然後來沒有繼續下去卻也讓我第一次接觸PHP&lt;br /&gt;而幾年之後，Blog的觀念開始大行其道&lt;br /&gt;RSS news的網站也如雨後春筍般出現&lt;br /&gt;如果那時繼續留在PHP的世界&lt;br /&gt;或許現在會很不一樣的發展吧....ㄏㄏ&lt;br /&gt;&lt;br /&gt;在現在這間新公司&lt;br /&gt;很多地方是用PHP當base的web平台&lt;br /&gt;雖然我負責的不是PHP相關&lt;br /&gt;但是總是有理由讓我重新把記憶中的PHP拿出來&lt;br /&gt;很巧的是前陣子有朋友用wordpress架設了自己的blog網站&lt;br /&gt;也讓我多了點機會去看看PHP&lt;br /&gt;&lt;br /&gt;現在的PHP比起以前多了很多彈性&lt;br /&gt;因為XOOPS的盛行&lt;br /&gt;也讓PHP template的概念更受到重視&lt;br /&gt;而smarty這個PHP template library便是我目前使用中的&lt;br /&gt;template的概念是讓視覺設計的工作者可以獨立於程式設計外&lt;br /&gt;也就是說，程式設計可以不用去考慮視覺呈獻&lt;br /&gt;而美術設計可以不用去了解程式設計邏輯&lt;br /&gt;&lt;br /&gt;目前自己用了一個主題讓自己重新熟悉PHP&lt;br /&gt;WordPress確實是個挺方便的個人blog網站工具&lt;br /&gt;他有很方便的編輯與管理工具&lt;br /&gt;在任何可使用PHP與MySQL的apache Linux平台上都可以運作的不錯(LAMP..ㄏㄏ)&lt;br /&gt;不過我不喜歡他的theme系統&lt;br /&gt;雖然你可以自由的替換掉你的theme&lt;br /&gt;但是一個theme裏面的組成卻大多是PHP程式碼&lt;br /&gt;我想這會嚇壞很多網頁視覺設計人員&lt;br /&gt;因為他們往往不熟悉程式設計&lt;br /&gt;反過來說，要讓程式設計人員處理視覺呈獻也是惡夢一場&lt;br /&gt;因此我覺得用smarty來實作一個可以替換視覺呈現的theme是個方向&lt;br /&gt;目前正在進度中(進度慢的原因...正式工作變多加上....懶懶懶)&lt;br /&gt;改天再來寫一篇文章跟大家報各我的心得吧.......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-116352705015460375?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/116352705015460375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=116352705015460375&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116352705015460375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116352705015460375'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/11/php.html' title='好久不見啦: PHP'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-116114999328692980</id><published>2006-10-18T13:23:00.000+08:00</published><updated>2006-10-18T13:39:53.303+08:00</updated><title type='text'>為何要用RSS</title><content type='html'>前幾天一個朋友說我是"很需要RSS的怪胎"&lt;br /&gt;ㄏㄏ....然後另一個朋友說"為啥你每天都看一些怪東西"&lt;br /&gt;.....我想.....好吧....我自己也是個怪東西...ㄏㄏ&lt;br /&gt;&lt;br /&gt;Anyway, 我是個習慣每天開始工作前先看看這個世界發生啥事的人&lt;br /&gt;因此我會習慣看很多blog的文章&lt;br /&gt;如果把這些網址紀錄在瀏覽器書籤中&lt;br /&gt;我必須一個一個打開看看有無新文章&lt;br /&gt;我想這樣是很浪費時間的一件事(上班時間...ㄏㄏ)&lt;br /&gt;&lt;br /&gt;因此我習慣用RSS reader&lt;br /&gt;之前我用獨立的RSS reader程式&lt;br /&gt;後來我開始用&lt;a href="https://www.google.com/accounts/ServiceLogin?nui=1&amp;service=reader&amp;amp;continue=http%3A%2F%2Fwww.google.com%2Freader"&gt;google reader&lt;/a&gt;來看我的news&lt;br /&gt;因為我發現最大的好處是他可以把我的blog RSS list存在google那邊&lt;br /&gt;在任何可以用browser的環境下我都可以去讀我的news&lt;br /&gt;(就算是別人的PC或laptop)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/google-reader.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/400/google-reader.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;因此如上圖所示&lt;br /&gt;我只要登入google reader就可以知道我訂閱的blog網站有無新文章&lt;br /&gt;而且我的習慣是會瀏覽標題&lt;br /&gt;先找到我有興趣的文章，其他的就不理他&lt;br /&gt;加上google reader可以&lt;a href="http://samlinux.blogspot.com/2006/06/bloggergoogle-reader.html"&gt;跟blogger整合&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;我喜歡看這個世界奇形怪狀的事&lt;br /&gt;我喜歡有效率的工作&lt;br /&gt;因此我喜歡RSS&lt;br /&gt;你跟我一樣嗎....推荐你試試RSS的威力吧&lt;br /&gt;至於我是不是怪東西......我想我寧願怪一點吧....ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-116114999328692980?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/116114999328692980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=116114999328692980&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116114999328692980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116114999328692980'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/10/rss.html' title='為何要用RSS'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-116041086903435967</id><published>2006-10-10T00:02:00.000+08:00</published><updated>2006-10-10T00:21:09.090+08:00</updated><title type='text'>用linux抓下你的DVD音軌</title><content type='html'>現在沒有機會跟朋友玩樂團&lt;br /&gt;所以現在多了一個習慣是跟著音樂一起玩&lt;br /&gt;我有些DVD的現場表演有很棒的pattern&lt;br /&gt;不過每次要用mplayer去播放DVD有點痛苦也不方便&lt;br /&gt;因此我會把音軌抓下來存成mp3&lt;br /&gt;&lt;br /&gt;在linux這樣的工作其實很容易實現&lt;br /&gt;首先，你可以用一個FIFO pipe來連結mplayer的wav輸出與lame的輸入&lt;br /&gt;這樣的好處是你不用先把整個wav檔案抓到硬碟&lt;br /&gt;(整張DVD的音軌應該也不小....不過現在大家硬碟應該都很大了吧....ㄏㄏ)&lt;br /&gt;所以你可以先建立一個fifo&lt;br /&gt;&lt;br /&gt;mkfifo wavbuf&lt;br /&gt;&lt;br /&gt;這時候你的目錄下匯出現一個新檔案如下&lt;br /&gt;prw-r--r--  1 joepass joepass    0 2006-10-09 23:00 wavbuf&lt;br /&gt;&lt;br /&gt;再來我們就要開始抓音軌&lt;br /&gt;我們用mplayer來dump整個audio然後指定檔案為我們的fifo檔案&lt;br /&gt;&lt;br /&gt;mplayer -quiet -vo null -vc dummy -ao pcm:waveheader:file="wavbuf" dvd://&lt;br /&gt;&lt;br /&gt;這時候mplayer會開始把wav資料丟進fifo內&lt;br /&gt;你可以開啟另一個terminal(或你可以將mplayer放入背景執行)&lt;br /&gt;用lame來壓縮mp3檔案&lt;br /&gt;&lt;br /&gt;lame --preset standard wavbuf music.mp3&lt;br /&gt;&lt;br /&gt;我套用standard的設定，你可以設定自己想要的mp3參數&lt;br /&gt;接下來就是....等待....啦&lt;br /&gt;等一切完成後你就有一個music.mp3的DVD音軌檔案了&lt;br /&gt;&lt;br /&gt;如果你覺得這個一整個mp3太不方便&lt;br /&gt;你還可以用&lt;a href="http://mp3splt.sourceforge.net/mp3splt_page/home.php"&gt;mp3splt&lt;/a&gt;這類軟體將mp3切成你要的長度&lt;br /&gt;很棒吧....有需要抓片斷的音軌也是很好的選擇歐&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-116041086903435967?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/116041086903435967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=116041086903435967&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116041086903435967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116041086903435967'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/10/linuxdvd.html' title='用linux抓下你的DVD音軌'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-116034017338497949</id><published>2006-10-09T04:25:00.000+08:00</published><updated>2006-10-09T04:42:53.396+08:00</updated><title type='text'>錄製VCD</title><content type='html'>最近幫朋友燒一些音樂VCD(不要報警抓我...)&lt;br /&gt;如果你像我一樣習慣用terminal的command line工作&lt;br /&gt;或是你受不了為了要用k3b來燒錄得把Qt, kdelib等等這些東西裝上&lt;br /&gt;Unix-like的環境有一個好處: 幾乎所有工作你都可以用command完成&lt;br /&gt;燒錄VCD也一樣&lt;br /&gt;&lt;br /&gt;首先，你必須把你要的內容抓下來&lt;br /&gt;當然你可以用其他方式製造你的video檔案，譬如你的數位攝影機&lt;br /&gt;這邊我用mplayer把VCD的mpeg內容抓下&lt;br /&gt;(好吧....這樣還有一個好處....我可以把版權宣告那段拿掉...反正已經違法了)&lt;br /&gt;&lt;br /&gt;mplayer vcd://3 -dumpstream -dumpfile music.mpg&lt;br /&gt;&lt;br /&gt;我把第三軌的內容抓下成music.mpg這個檔案&lt;br /&gt;再來你必須製造成VCD的cue檔案&lt;br /&gt;&lt;br /&gt;vcdimager --iso-volume-label="MUSIC" music.mpg&lt;br /&gt;&lt;br /&gt;GNU的&lt;a href="http://www.vcdimager.org/"&gt;VCDImager&lt;/a&gt;是一個很棒的工具讓你完成這件工作&lt;br /&gt;其他的用法可以去網站瞧瞧&lt;br /&gt;你現在目錄下會有videocd.cue與videocd.bin這兩個檔案&lt;br /&gt;最後我們只差把他寫入光碟啦&lt;br /&gt;我們可以用&lt;a href="http://cdrdao.sourceforge.net/"&gt;cdrdao&lt;/a&gt;來完成這件工作&lt;br /&gt;&lt;br /&gt;cdrdao write --device ATA:0,1,0 videocd.cue&lt;br /&gt;&lt;br /&gt;這邊我的燒錄機是ATA的BUS0第二台機器&lt;br /&gt;你可以指定你的燒錄機&lt;br /&gt;這樣一份你自己的VCD便完成啦&lt;br /&gt;受不了GUI拖慢你的工作了嗎&lt;br /&gt;試試Command Mode吧.... ㄏㄏ&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-116034017338497949?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/116034017338497949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=116034017338497949&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116034017338497949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/116034017338497949'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/10/vcd.html' title='錄製VCD'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115825558656875601</id><published>2006-09-15T01:38:00.000+08:00</published><updated>2006-09-15T01:39:46.586+08:00</updated><title type='text'>Dynamic linking library in Linux</title><content type='html'>&lt;p&gt;最近看到許多linux的新一點的project許多都使用dynamic linking來架構其C程式，其中dlopen這個系列雖然是很lightweight但是卻十分好用，幾年前看到dlopen的使用便覺得很酷，因此 寫一個粗淺的文章來談談dlopen library。&lt;/p&gt;不了解dynamic linking library嗎？我想一個例子便是Microsoft的COM架構，這類的方式有許多好處，首先是對於軟體設計人員可以更自由的與其他人開發的 library獨立開發。這裡要知道的是他確實是dynamic的來連結，一般的library的linking多是在linker的階段完成，也就是說 在你執行ld的時候(或是由gcc呼叫ld)便將library與執行檔的symbol link完成。因此就算你是用shared library依然在link stage後便會與特定的library有連結....&lt;a href="http://joepasscheng.googlepages.com/dynamiclink"&gt;繼續閱讀&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115825558656875601?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115825558656875601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115825558656875601&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115825558656875601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115825558656875601'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/09/dynamic-linking-library-in-linux.html' title='Dynamic linking library in Linux'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115804064073999345</id><published>2006-09-12T13:47:00.000+08:00</published><updated>2006-09-12T13:57:20.753+08:00</updated><title type='text'>Daemon</title><content type='html'>最近看了OpenSER的code&lt;br /&gt;其中有一段是daemonize的工作&lt;br /&gt;daemonize顧名思義便是把process變成daemon&lt;br /&gt;也就是脫離原本的session&lt;br /&gt;自己變成session leader而不會因為session leader結束而被迫結束&lt;br /&gt;舉例來說，當你從terminal執行一個server程式後&lt;br /&gt;你當然可以讓terminal保持住&lt;br /&gt;但是除非是debug不然這是很沒有效率的&lt;br /&gt;因此我們會希望他變成一個daemon而能不受到起始他的session控制&lt;br /&gt;&lt;br /&gt;其實說穿了daemonize只是一些fork與setsid的動作&lt;br /&gt;但是有時候一直重複相同的動作是很煩的&lt;br /&gt;因此也有些daemon的library出現&lt;br /&gt;譬如&lt;a href="http://0pointer.de/lennart/projects/libdaemon/"&gt;libdaemon&lt;/a&gt;&lt;br /&gt;至於該用wrapper library還是自己去處理daemonize&lt;br /&gt;我想....你自己決定吧....ㄏㄏ&lt;br /&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="連結" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115804064073999345?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115804064073999345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115804064073999345&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115804064073999345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115804064073999345'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/09/daemon.html' title='Daemon'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115684365036619869</id><published>2006-08-29T17:11:00.000+08:00</published><updated>2006-08-29T17:27:30.383+08:00</updated><title type='text'>建築-設計-程式</title><content type='html'>最近在家當無業遊民的時候&lt;br /&gt;看了不少設計與視覺研究的書&lt;br /&gt;心中倒是真的有點感觸&lt;br /&gt;計算機的發明是為了讓人們的生活更加方便更加舒適的這句話&lt;br /&gt;我想應該很多人並不會贊同吧&lt;br /&gt;自從資訊化了之後&lt;br /&gt;人們的生活更加緊湊&lt;br /&gt;加班趕工反而變成了一種資訊化社會的常態&lt;br /&gt;(我好像又開始離題.....老人症後群又犯了)&lt;br /&gt;&lt;br /&gt;自己很喜歡去研究design pattern的程式&lt;br /&gt;因為覺得可以動動腦很好(工作中太多的"大家都是這樣做")&lt;br /&gt;我想自從Christopher Alexander提出design pattern這個名詞後&lt;br /&gt;建築學與現代程式語言的設計開始有了關聯&lt;br /&gt;總覺得一個學問應該是多方面的思索涉獵&lt;br /&gt;往往idea會從你想也沒想到的領域出現&lt;br /&gt;因此我也喜歡看建築設計的書&lt;br /&gt;&lt;br /&gt;前陣子看著兩本視覺研究的原文書(還沒看完....我相信烏龜會到終點的)&lt;br /&gt;也覺得介面設計其實涉獵的領域很廣&lt;br /&gt;但是也很籠統，因此往往變成抄襲是最常見的設計&lt;br /&gt;Mac又紅了...多少設計越來越像Mac style&lt;br /&gt;卻很少有人真的去思考設計的真正意函&lt;br /&gt;進而產生自己的設計&lt;br /&gt;&lt;br /&gt;在不以engineer為工作的這段時間&lt;br /&gt;確讓我感受到一個software engineer的快樂&lt;br /&gt;我喜歡研究程式&lt;br /&gt;我喜歡看各種的書籍&lt;br /&gt;我喜歡胡思亂想&lt;br /&gt;但請不要問我對那一個產業有興趣&lt;br /&gt;因為我不知道.....或許....我真的不適合當個engineer&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115684365036619869?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115684365036619869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115684365036619869&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115684365036619869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115684365036619869'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/08/blog-post.html' title='建築-設計-程式'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115676341089432017</id><published>2006-08-28T18:31:00.000+08:00</published><updated>2006-08-28T19:10:10.956+08:00</updated><title type='text'>GNU的VoIP架構慢慢成型</title><content type='html'>如果你是Stallman的信徒的話&lt;br /&gt;你一定會常常使用GNU的軟體&lt;br /&gt;雖然大多數的營利單位(好啦...企業...公司...隨便你要如何稱呼)都不喜歡stallman的主張&lt;br /&gt;但是....管他的....反正營利單位賺錢獲利的也不會是小小的工程師&lt;br /&gt;因此我還是很愛GNU的軟體&lt;br /&gt;&lt;br /&gt;近幾年來VoIP似乎慢慢從最初的神話變成可能是生活中的科技&lt;br /&gt;因此各大廠商都想要吃這塊肥肉&lt;br /&gt;我想GNU當然不會讓專有軟體橫行霸道&lt;br /&gt;因此&lt;a href="http://wiki.gnutelephony.org/index.php/Main_Page"&gt;GNU Telephony&lt;/a&gt;就出現啦&lt;br /&gt;&lt;br /&gt;事實上GNU Telephony並不是一個單獨的project&lt;br /&gt;而是將一個VoIP需要的軟體library建構起來&lt;br /&gt;而且更令人激賞的是&lt;br /&gt;他都是用C++的架構來完成所有的library&lt;br /&gt;他可以細分為&lt;br /&gt;&lt;br /&gt;GNU Common C++&lt;br /&gt;這個project用來處理一些C++中沒有去定義的行為，譬如說thread的行為、socket、&lt;br /&gt;XML parsing...等等，雖然說有一些其他的project可能以後會變成標準(譬如boost裏面&lt;br /&gt;的thread類別就可能會變成C++ thraed的標準....個人猜測)，但是GNU還是把很多C++的&lt;br /&gt;缺憾都給補齊，也是個很棒的project&lt;br /&gt;&lt;br /&gt;GNU ccRTP&lt;br /&gt;看名稱也知道他是一個RTP的實現，雖然目前也有不少rtp library(JRTPLIB與oRTP)，&lt;br /&gt;但是都有點年紀了，不過我沒試過ccRTP，等試過後在跟大家報告&lt;br /&gt;&lt;br /&gt;GNU ccAudio2&lt;br /&gt;我想VoIP有一個很重要的便是audio codec的部份，這個project當然用來處理這個領域&lt;br /&gt;他是一個很棒的project，他建構了一個抽象的基本類別庫，不但可以將codec給分離開&lt;br /&gt;讓你可以自己新增codec進去，他還是一個跨平台的架構(win32用LoadLibrary的機制，&lt;br /&gt;而linux用dlopen...mac也有...不過...ㄏㄏ...看無)，在linux上面目前的缺點是他的audio device&lt;br /&gt;現在還是OSS device(不是我看不起OSS...不習慣用啦)，不過你當然可以繼承AudioDivice來&lt;br /&gt;作自己的環境....&lt;br /&gt;&lt;br /&gt;GNU oSIP與libeXosip&lt;br /&gt;SIP的library，一個是C，一個是他的C++ wrapper，這個project應該已經被大量使用了吧&lt;br /&gt;&lt;br /&gt;當然，GNU也有開始VoIP server的project，不過那就是屬於利用這些基本架構實現的部份&lt;br /&gt;如果你對VoIP很有興趣，如果你信奉GNU的信念(ㄏㄏ，營利單位最討厭這些信念)，你可以&lt;br /&gt;找個時間好好看看這些project，或許你會從中找到不少樂趣歐。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115676341089432017?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115676341089432017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115676341089432017&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115676341089432017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115676341089432017'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/08/gnuvoip.html' title='GNU的VoIP架構慢慢成型'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115669940814217718</id><published>2006-08-28T01:22:00.000+08:00</published><updated>2006-08-28T01:23:28.160+08:00</updated><title type='text'>STL Ring</title><content type='html'>&lt;p&gt;Ring是一種環狀的資料結構，基本上他是一個頭尾相連的link list，相信在學資料結構的時候都有遇過，在C語言中Ring並不難實作，但是在現在C++的程式架構重視reuse與泛型化的要求下，卻不是一個很好 的做法。其實利用STL的既有template可以讓這個工作更容易做到。&lt;/p&gt;首先因為我們不想重新發明輪胎，因此可以利用STL既有的container: list來實現.....&lt;a href="http://joepasscheng.googlepages.com/stlring"&gt;繼續閱讀&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115669940814217718?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115669940814217718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115669940814217718&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115669940814217718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115669940814217718'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/08/stl-ring.html' title='STL Ring'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115666465154910228</id><published>2006-08-27T15:39:00.000+08:00</published><updated>2006-08-27T15:44:11.563+08:00</updated><title type='text'>Ring GUI</title><content type='html'>前幾天試著玩的環狀GUI系統&lt;br /&gt;放了一段video在google video作個紀念&lt;br /&gt;&lt;a href="http://video.google.com/videoplay?docid=5161951459548071880"&gt;video link here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;要完成一個完整GUI還有許多東西要弄&lt;br /&gt;Event傳遞、callback或是signal-slot機制.....等等&lt;br /&gt;等有空再來慢慢玩吧&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115666465154910228?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115666465154910228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115666465154910228&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115666465154910228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115666465154910228'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/08/ring-gui.html' title='Ring GUI'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115647674954975137</id><published>2006-08-25T11:12:00.000+08:00</published><updated>2006-08-25T11:32:29.566+08:00</updated><title type='text'>linux工程師悲哀</title><content type='html'>最近接連的幾個面試&lt;br /&gt;讓我有非常的感觸&lt;br /&gt;其實台灣大多數的軟體工作都是windows為主&lt;br /&gt;linux的工作並不是那麼多&lt;br /&gt;裏面又許多是linux device driver&lt;br /&gt;因此本來linux的軟體工程師在台灣的生存就不容易&lt;br /&gt;&lt;br /&gt;最近的面試中&lt;br /&gt;很多面試主管都有一個相同的論調&lt;br /&gt;雖然他們要找會linux的engineer&lt;br /&gt;但是如果不能全面都可以的話&lt;br /&gt;工程師的value就不高&lt;br /&gt;這裡所謂的value又是指"除了linux外, 你還要作windows programming"&lt;br /&gt;這往往讓我十分挫敗&lt;br /&gt;&lt;br /&gt;但是我常常想到&lt;br /&gt;往往一整間的windows engineer都不會linux&lt;br /&gt;那個不算value不高....但是linux engineer不熟windows programming就是value不高&lt;br /&gt;這種的評量標準我常常不能接受&lt;br /&gt;或許windows是市佔率最高的OS&lt;br /&gt;但是若你要找的是linux engineer, 為何要為難他不熟windows呢&lt;br /&gt;&lt;br /&gt;今天還聽到一個有趣的說法&lt;br /&gt;因為linux是open source的一個產物&lt;br /&gt;任何人都可以拿到source code去看&lt;br /&gt;因此他是很簡單的&lt;br /&gt;但是windows因為不知道內部如何運作&lt;br /&gt;所以windows的engineer比較厲害&lt;br /&gt;linux的engineer只是去看code而已, windows的engineer卻都是厲害的hacker&lt;br /&gt;我不知道這樣的說法對不對&lt;br /&gt;不過讓我深深的想到&lt;br /&gt;或許我真的不適合當個software engineer吧&lt;br /&gt;&lt;br /&gt;認真思考自己的未來.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115647674954975137?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115647674954975137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115647674954975137&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115647674954975137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115647674954975137'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/08/linux.html' title='linux工程師悲哀'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115635356161671166</id><published>2006-08-24T01:03:00.000+08:00</published><updated>2006-08-25T11:35:13.816+08:00</updated><title type='text'>GUI的學問</title><content type='html'>前陣子看到車用電子展的許多產品&lt;br /&gt;UI設計上大多偏向固定式的UI&lt;br /&gt;也就是以PC software的Button為基本概念做成的設計&lt;br /&gt;因此大家都看起來差不多&lt;br /&gt;&lt;br /&gt;想到今天看到PS3的介面畫面&lt;br /&gt;其實在IA的領域裏面的UI應該要更豐富的UI interface&lt;br /&gt;更要脫離PC的操作思維&lt;br /&gt;&lt;br /&gt;前天聽到過原本朋友要設計的介面原本是立體環狀&lt;br /&gt;但是似乎是太麻煩了而做罷&lt;br /&gt;想想自己也閒閒&lt;br /&gt;來試試一個簡單的實做&lt;br /&gt;&lt;br /&gt;其實比較麻煩的是Ring這類的資料結構&lt;br /&gt;搞了一天....用STL的tempelate解決了這個問題&lt;br /&gt;(改天再說明這個做法吧...晚了....ㄏㄏ)&lt;br /&gt;&lt;br /&gt;其實也不會太麻煩啦&lt;br /&gt;只是要看你要不要把engineer resource放在UI設計的工作上&lt;br /&gt;還是讓他"跟別人一樣"就好&lt;br /&gt;我想這是Mac的堅持吧&lt;br /&gt;不過世上有多少Steve Jobs呢&lt;br /&gt;engineer們.....自求多福吧....ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115635356161671166?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115635356161671166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115635356161671166&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115635356161671166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115635356161671166'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/08/gui.html' title='GUI的學問'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115580764216811355</id><published>2006-08-17T17:23:00.000+08:00</published><updated>2006-08-17T17:40:42.183+08:00</updated><title type='text'>C++的Auto Buffer</title><content type='html'>最近寫了一個小小的錄音程式&lt;br /&gt;因為不想每次只是想錄點小聲音片斷就要執行Rezound這類大程式&lt;br /&gt;加上我的sound daemon是用jack sound server&lt;br /&gt;一堆舊的audio程式根本沒有支援&lt;br /&gt;幹脆自己寫的簡單的小程式&lt;br /&gt;&lt;br /&gt;在處理大量資料的時候常常要宣告buffer來儲存&lt;br /&gt;在C語言中動態大量的buffer你用malloc來便可以達成&lt;br /&gt;但是在C++中往往強調程式的靈活與彈性.....&lt;a href="http://joepasscheng.googlepages.com/autobuffer"&gt;繼續閱讀&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115580764216811355?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115580764216811355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115580764216811355&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115580764216811355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115580764216811355'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/08/cauto-buffer.html' title='C++的Auto Buffer'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115502497643557217</id><published>2006-08-08T15:52:00.000+08:00</published><updated>2006-08-08T16:16:16.453+08:00</updated><title type='text'>用Scilab代替Matlab來玩Hidden Markov Models</title><content type='html'>最近一個唸博士班的朋友跟我聊天&lt;br /&gt;他的工作上需要用到matlab來作Hidden Markov Models&lt;br /&gt;但是說實話matlab這套軟體的價格實在不是我們這種小老百姓可以負擔&lt;br /&gt;因此我跟他推荐了scilab這套軟體&lt;br /&gt;我個人覺得scilab替代matlab是沒有問題的&lt;br /&gt;而且他在linux, Mac與windows上都可以跑&lt;br /&gt;&lt;br /&gt;很多toolbox也可以找到一些free的code&lt;br /&gt;以HMM為例, 在scilab的官網就可以找到.....&lt;a href="http://www.scilab.org/contrib/displayContribution.php?fileID=172"&gt;Here&lt;/a&gt;&lt;br /&gt;不過這個版本已經很久了&lt;br /&gt;有些小地方你可以自己改改&lt;br /&gt;裏面的macro都有sci與bin檔(source與binary)&lt;br /&gt;我試過裏面的bin檔是windows的版本&lt;br /&gt;因此linux的朋友要重新建立bin檔&lt;br /&gt;&lt;br /&gt;他裏面有一個build的script可以讓你重新建立&lt;br /&gt;不過這裡有點小問題&lt;br /&gt;這個toolbox是在scilab-2.5的時候寫的&lt;br /&gt;現在的版本為4.0&lt;br /&gt;大體上都不需要改變&lt;br /&gt;但是4.0的function宣告必須以endfunction作結尾&lt;br /&gt;因此你必須在每一個sci檔案尾端加上一行"endfunction"&lt;br /&gt;&lt;br /&gt;另外, 他的demo檔案有一個地方判別式寫錯&lt;br /&gt;a==1寫成a=1&lt;br /&gt;這裡你在build的時候就會有錯誤訊息出來&lt;br /&gt;你根據行號去改改便可&lt;br /&gt;&lt;br /&gt;如果你跟我一樣要把HMM放進你的系統中&lt;br /&gt;(不用每次要用都要執行loader.sce)&lt;br /&gt;你可以把loader.sce放進你個人scilab的啟動程序&lt;br /&gt;或是如果你有root的權限&lt;br /&gt;你可以在(scilab安裝目錄)/macros下面建立一個新目錄&lt;br /&gt;把所有sci檔案複製到此&lt;br /&gt;作一次genlib('你剛剛建立的目錄')&lt;br /&gt;然後記得把這個目錄的lib加入scilab.star這個檔案&lt;br /&gt;加上這行..........load('SCI/macros/hmm/lib')............假設你建立的目錄為hmm&lt;br /&gt;這樣每個啟動scilab的人都有HMM toolbox可以用啦&lt;br /&gt;(不過啟動會慢一點)&lt;br /&gt;你就可以開始研究HMM的奧秘啦&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115502497643557217?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115502497643557217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115502497643557217&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115502497643557217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115502497643557217'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/08/scilabmatlabhidden-markov-models.html' title='用Scilab代替Matlab來玩Hidden Markov Models'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115392678218793224</id><published>2006-07-26T23:01:00.000+08:00</published><updated>2006-07-26T23:13:02.203+08:00</updated><title type='text'>WebOS現身</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/youOS.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/400/youOS.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;我想自從AJAX大紅後，很多人期待一個WebOS已經很久了&lt;br /&gt;有人覺得會是Google打響第一波&lt;br /&gt;但是看來Google另有打算&lt;br /&gt;沒想到MIT先推出了WebOS: &lt;a href="https://www.youos.com/"&gt;YouOS&lt;/a&gt;&lt;br /&gt;這個目前還在Beta的webOS非常具有一個OS的樣子了&lt;br /&gt;他上面有了許多常用的程式(email, chart. IM, browser.....)&lt;br /&gt;甚至你可以安裝新軟體&lt;br /&gt;或是寫你自己的軟體&lt;br /&gt;哇....很棒吧&lt;br /&gt;&lt;br /&gt;我想短期內要取代正常OS應該還早&lt;br /&gt;不過我覺得類似Thin Client這類的架構&lt;br /&gt;這將會是非常好用的架構&lt;br /&gt;至少擺脫了RDP這類的私有協定&lt;br /&gt;client device只要有一個browser就搞定&lt;br /&gt;(甚至不需要flash....ㄏㄏ)&lt;br /&gt;申請個帳號試試吧....不過beta版常常會使用人數過多進不去&lt;br /&gt;多等等吧....ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115392678218793224?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115392678218793224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115392678218793224&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115392678218793224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115392678218793224'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/07/webos.html' title='WebOS現身'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115372646415477083</id><published>2006-07-24T15:02:00.000+08:00</published><updated>2006-07-24T15:38:21.800+08:00</updated><title type='text'>Live Media Stream library</title><content type='html'>前幾天跟幾個老朋友去喝咖啡&lt;br /&gt;他們正在弄media streamming的東西&lt;br /&gt;提到了&lt;a href="http://www.live555.com/"&gt;live555.com&lt;/a&gt;這個library&lt;br /&gt;&lt;br /&gt;live555這個streamming library&lt;br /&gt;我想有在linux上面用MPlayer或VLC聽live stream的朋友應該不陌生&lt;br /&gt;現在幾乎所有linux上的media player都用這個library來處理streamming&lt;br /&gt;&lt;br /&gt;live555是一個C++的library&lt;br /&gt;因此你必須用物件導向來設計你的應用程式&lt;br /&gt;(這幾天mail-list有人在問可否將它弄成C code....ㄏㄏ)&lt;br /&gt;&lt;br /&gt;基本上你將要面對4類基本物件:&lt;br /&gt;UsageEnvironment, TaskScheduler, Groupsock與LiveMedia&lt;br /&gt;事實上大多數上列的物件很多都是抽象物件&lt;br /&gt;因此你必須利用繼承來實作出一個成品&lt;br /&gt;UsageEnvironment是最外層物件&lt;br /&gt;說他是最外層的原因是他幾乎是其他物件的wrapper&lt;br /&gt;TaskScheduler負責控制觸發的各項event scheduler&lt;br /&gt;(譬如從網路上接收傳送stream data)&lt;br /&gt;而Groupsock負責處理網路層的部份&lt;br /&gt;如果你的service要處理multicast&lt;br /&gt;你必須在此完成&lt;br /&gt;最後的LiveMedia是各種多媒體類型的處理&lt;br /&gt;(基本虛擬類別為Medium)&lt;br /&gt;目前library中有許多常用支援的格式&lt;br /&gt;&lt;br /&gt;另外，library提供了一個基本的繼承物件BasicUsageEnvironment&lt;br /&gt;他利用標準輸出入為io實作一個基本類別(BasicUsageEnvironment與BasicTaskScheduler)&lt;br /&gt;我想這是一個提供你demo或是programming doc的作用&lt;br /&gt;(在Open Source世界中，期待有類似MSDN的網頁是不常見的，demo code比較實在)&lt;br /&gt;因此測試程式多用BasicUsageEnvironment&lt;br /&gt;你可以自己去實現自己的streamming環境&lt;br /&gt;&lt;br /&gt;利用這個library可以讓你省卻很多功夫而可以輕鬆完成你的stream server(或client)&lt;br /&gt;他是很棒的一個project&lt;br /&gt;我覺得遺憾的是他並不是非常general&lt;br /&gt;某些地方原本以為他會更以STL的style來完成&lt;br /&gt;但是卻沒有&lt;br /&gt;譬如在BasicUsageEnvironment中的HandlerSet&lt;br /&gt;一開始看到code來以為他用STL iterator來做泛型化&lt;br /&gt;不過後來發現他只是一個C++ link-list的wrapper&lt;br /&gt;或許因為這只是個demo功用的物件吧&lt;br /&gt;(泛型化一開始會把事情弄的很複雜...ㄏㄏ)&lt;br /&gt;&lt;br /&gt;Anyway....如果你對於network media streamming有興趣&lt;br /&gt;這個絕對是一個可以選擇的Project&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115372646415477083?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115372646415477083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115372646415477083&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115372646415477083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115372646415477083'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/07/live-media-stream-library.html' title='Live Media Stream library'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115305908930086152</id><published>2006-07-16T21:58:00.000+08:00</published><updated>2006-07-16T22:11:29.316+08:00</updated><title type='text'>學習Graph algorithm的好工具: Gato</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/gato.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/320/gato.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;以前在面對數學的Graph theorem的時候&lt;br /&gt;總是覺得缺乏一些輔助工具&lt;br /&gt;例如視覺化工具....沒辦法，想像力太差，所以才會逃出數學系...ㄏㄏ&lt;br /&gt;不過在Open Source的世界裡卻可以幫助你把數學學的更好&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gato.sourceforge.net/"&gt;Gato&lt;/a&gt;基本上就是一個非常棒的工具&lt;br /&gt;他可以讓你試著將你的圖形演算法實現出來&lt;br /&gt;甚至可以讓你看到他實際運作的樣子&lt;br /&gt;&lt;br /&gt;Gato是由python寫成&lt;br /&gt;他使用tk作為基本widget&lt;br /&gt;所以你的python必須要有tk支援&lt;br /&gt;(在Gentoo裏面，確定你的USE變數裏面有tk就可以)&lt;br /&gt;&lt;br /&gt;你可以把你的graph演算法用python語法寫成一個.alg檔案&lt;br /&gt;(事實上還需要一個相同檔名的.pro檔案)&lt;br /&gt;在編輯一個運作的圖形集合便可以讓你的演算法實際跑起來&lt;br /&gt;Gato有一個視覺化工具可以讓你更方便編輯圖形&lt;br /&gt;&lt;br /&gt;喜歡研究Graph嗎....試試吧...真的很酷&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115305908930086152?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115305908930086152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115305908930086152&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115305908930086152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115305908930086152'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/07/graph-algorithm-gato.html' title='學習Graph algorithm的好工具: Gato'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115286072021454452</id><published>2006-07-14T14:54:00.000+08:00</published><updated>2006-07-14T15:05:20.226+08:00</updated><title type='text'>你是一個hacker還是engineer</title><content type='html'>今天我的老闆發了一封mail給我&lt;br /&gt;他的論點我覺得是&lt;br /&gt;當你只會去研究程式架構的人叫hacker&lt;br /&gt;而engineer應該是為了把產品做出來&lt;br /&gt;不一定要有好的軟體架構, 也不一定要友好的軟體效能&lt;br /&gt;重點是很快把產品弄出來拿去賣&lt;br /&gt;(就算你是偷OpenSource的Project然後佔為己有無所謂)&lt;br /&gt;甚至還要有業務與PM的功能(能自己去規劃產品與找客戶......傻眼)&lt;br /&gt;&lt;br /&gt;我想我這間公司需要engineer不需要hacker&lt;br /&gt;我是不是engineer?&lt;br /&gt;我也不清楚&lt;br /&gt;&lt;br /&gt;記得一位學長不久前跟我說&lt;br /&gt;"我們公司是要作產品的歐"&lt;br /&gt;他的意思也有異曲同工之妙&lt;br /&gt;因為我們要弄產品，所以可以犧牲很多東西&lt;br /&gt;包括品質&lt;br /&gt;&lt;br /&gt;我想很多主管級的朋友不會同意我的說法&lt;br /&gt;或許會說"time-to-market"與品質都一樣重要&lt;br /&gt;問題是當兩者衝突時....你會取捨那一個?&lt;br /&gt;&lt;br /&gt;還是當hacker快樂....但是我印象中hacker應該是不一樣的解釋&lt;br /&gt;那.....我還是當程式工讀生好了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115286072021454452?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115286072021454452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115286072021454452&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115286072021454452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115286072021454452'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/07/hackerengineer.html' title='你是一個hacker還是engineer'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115284978998837566</id><published>2006-07-14T11:48:00.000+08:00</published><updated>2006-07-14T12:03:10.006+08:00</updated><title type='text'>DjVu</title><content type='html'>在網路上傳遞的電子書有哪些格式呢?&lt;br /&gt;大家很熟悉PDF吧, PostGhost、html.....甚至image檔案都可以(能看的電子化格式...ㄏㄏ)&lt;br /&gt;但是如果是直接線上閱讀的電子書&lt;br /&gt;事實上連PDF都嫌的有點大&lt;br /&gt;&lt;br /&gt;size與清晰度是電子書的兩面考量&lt;br /&gt;size要小的話dpi就不能太高，但dpi太小則看不清楚&lt;br /&gt;DjVu這個格式便是針對網路上的電子書作改良的格式&lt;br /&gt;&lt;br /&gt;他的基本想法是&lt;br /&gt;針對不同內容作不同的layer與處理&lt;br /&gt;例如，一般文件中的圖形可以接受較低的解析度&lt;br /&gt;而文字則希望有較高的解析度&lt;br /&gt;因此你可以在DjVu中讓文字是300dpi而圖形是100dpi&lt;br /&gt;這樣一來便可以兼顧size與清晰的需求&lt;br /&gt;&lt;br /&gt;OpenSource的DjVu project是&lt;a href="http://djvulibre.djvuzone.org/"&gt;DjVuLiBre&lt;/a&gt;&lt;br /&gt;它包含一個獨立的viewer與library&lt;br /&gt;還有browser的plugins&lt;br /&gt;但是因為viewer是用Qt當成介面&lt;br /&gt;因此你必須有Qt的library(Qt3)&lt;br /&gt;plugins也是一樣&lt;br /&gt;這倒是我比較不喜歡的地方&lt;br /&gt;因為我的browser根本不是Qt-base&lt;br /&gt;&lt;br /&gt;不過還是給這個project用力鼓勵&lt;br /&gt;下次看到用djvu結尾的檔案時&lt;br /&gt;記得去下載來試試&lt;br /&gt;你會發現他的效能真的比pdf好多了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115284978998837566?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115284978998837566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115284978998837566&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115284978998837566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115284978998837566'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/07/djvu.html' title='DjVu'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115259494646957876</id><published>2006-07-11T12:53:00.000+08:00</published><updated>2006-07-11T13:55:03.456+08:00</updated><title type='text'>用Expat處理你的XML資料(2)</title><content type='html'>讓我們看看這3個callback function裏面的作法；首先我們先看一個簡單的XML檔案如下:&lt;br /&gt;&lt;br /&gt;這個簡單的XML範例為最基本的XML，它沒有DTD宣告也沒有CDATA之類的，只單純的將資料結構化罷了。那Expat的callback function怎麼運作呢？原則上它幫你分好資料與tag的分別，至於你要如何處理資料或是tag屬性你要自己在callback function完成。舉例來說，我們的expatStart函式便會在每次Expat遇到起始tag時去呼叫，而expatEnd就會在遇到結束的tag時被呼叫，中間的資料便會呼叫我們的expatHandler....&lt;a href="http://joepasscheng.googlepages.com/expat-2"&gt;more&lt;/a&gt;&lt;str.length(); if="" i=""&gt;&lt;br /&gt;&lt;/str.length();&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115259494646957876?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115259494646957876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115259494646957876&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115259494646957876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115259494646957876'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/07/expatxml2.html' title='用Expat處理你的XML資料(2)'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115225841961811018</id><published>2006-07-07T15:44:00.000+08:00</published><updated>2006-07-07T16:04:50.773+08:00</updated><title type='text'>用Expat處理你的XML資料(1)</title><content type='html'>當你的程式之間需要傳遞資料時，你會怎麼做？譬如說設定檔資料，使用一個最簡單的型式:『id := value』那如果設定值很複雜又有層次呢？我甚至還看過透過網路把整個二進位資料結構memory複製到網路去，由接受端宣告一個一模一樣的資料結構在memcpy......(當然，看到這種程式要我處理我會有想自殺的感覺...)。&lt;br /&gt;其實XML是一個很好的規範，他的可擴充性讓程式可以自己去處理自己要的資料，也不會因為多了一個欄位讓天下大亂(我的世界就處在混亂中...ㄏㄏ)。但是 要你面對XML這類的複雜結構時，我想很多人看到就感到害怕吧。還好這個世界甚麼不多，Open Source的library最多...ㄏㄏ，Expat是一個很不錯的XML parser library，原則上他是一個C library，而且可以在許多平台使用(好啦...有win32版本...不過我沒用過)，Expat是一個stream導向的parser library，也就是說他會從data buffer一直讀進資料然後遇到不同的狀態改變做不同的處理....&lt;a href="http://joepasscheng.googlepages.com/expat-1"&gt;More&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115225841961811018?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115225841961811018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115225841961811018&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115225841961811018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115225841961811018'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/07/expatxml1.html' title='用Expat處理你的XML資料(1)'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115200233965091325</id><published>2006-07-04T16:28:00.000+08:00</published><updated>2006-07-04T16:38:59.673+08:00</updated><title type='text'>apache2.2的suEXEC2</title><content type='html'>最近很勇猛的把我的gentoo接收了~x86的keyword&lt;br /&gt;重新emerge world後確實所有的軟體都是最新的&lt;br /&gt;不過自己也吃了不少苦頭....ㄏㄏ&lt;br /&gt;&lt;br /&gt;apache便是一例&lt;br /&gt;我的apache server變成2.2的版本&lt;br /&gt;apache2.2對於安全真是到了龜毛的地步&lt;br /&gt;(不過也是應該啦...server麻)&lt;br /&gt;在執行CGI之類的動作也有很嚴謹的檢查執行者的id&lt;br /&gt;請自己看看&lt;a href="http://httpd.apache.org/docs/2.2/suexec.html"&gt;這裡&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;而且gentoo的suexec2的執行檔的權限並不會執行正確&lt;br /&gt;所以必須手動改變&lt;br /&gt;chgrp apache /usr/sbin/suexec2&lt;br /&gt;chmod 4750 /usr/sbin/suexec2&lt;br /&gt;之後......我的apache2.2終於正常可以執行我的CGI程式了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115200233965091325?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115200233965091325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115200233965091325&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115200233965091325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115200233965091325'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/07/apache22suexec2.html' title='apache2.2的suEXEC2'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115191531121899735</id><published>2006-07-03T16:22:00.000+08:00</published><updated>2006-07-03T16:28:31.230+08:00</updated><title type='text'>新的enlightenment screenshot</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/enlightenment.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/320/enlightenment.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;最近把我的kernel換成最新的2.6.17版本&lt;br /&gt;順便也把enlightenment整個升級了&lt;br /&gt;新的DR17中的ibar越來越好了&lt;br /&gt;雖然目前還未release但還是很令人期待&lt;br /&gt;用習慣DR17的操作介面後&lt;br /&gt;慢慢已經不習慣KDE與Gnome的介面&lt;br /&gt;(因此兩陣營的較勁也不關我的事...ㄏㄏ)&lt;br /&gt;加油吧....更多有趣的project將會讓open source的世界越來越多采多姿的&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115191531121899735?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115191531121899735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115191531121899735&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115191531121899735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115191531121899735'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/07/enlightenment-screenshot.html' title='新的enlightenment screenshot'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115165699238807406</id><published>2006-06-30T16:36:00.000+08:00</published><updated>2006-06-30T16:43:12.400+08:00</updated><title type='text'>下載google video的影片為avi</title><content type='html'>google video上面有許多很有趣的影片&lt;br /&gt;我常常去看一些music live video&lt;br /&gt;在windows或Mac的平台上還可以選擇將檔案存到電腦中&lt;br /&gt;不過他會是使用gvi的檔名&lt;br /&gt;據說是加上DRM的avi啦, 不過我並不清楚&lt;br /&gt;&lt;br /&gt;網路上看到一位朋友利用簡單的javascript link就可以將他存成avi檔案&lt;br /&gt;滿好用的&lt;br /&gt;你只要將這個&lt;a href="javascript:if(document.getElementById('macdownloadlink')!=null){window.location.href=document.getElementById('macdownloadlink')}else{alert('Go"&gt;link&lt;/a&gt;加入你的書簽&lt;br /&gt;(firefox直接拖拉到書簽工具列更方便)&lt;br /&gt;下次看到好看的video片斷時&lt;br /&gt;直接按下link就會開始存成avi檔案&lt;br /&gt;很不錯吧......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115165699238807406?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115165699238807406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115165699238807406&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115165699238807406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115165699238807406'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/06/google-videoavi.html' title='下載google video的影片為avi'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115105626685161100</id><published>2006-06-23T17:46:00.000+08:00</published><updated>2006-06-23T17:51:06.863+08:00</updated><title type='text'>整合你的blogger與google reader</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/readerblogger.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/320/readerblogger.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;上次談到用google reader觀看RSS news&lt;br /&gt;其實我會使用他還有一個很重要的原因&lt;br /&gt;因為他可以把我看到的news裏面我覺得不錯的文章&lt;br /&gt;直接可以分享出來&lt;br /&gt;我只要選擇他的label標籤&lt;br /&gt;然後把這個label的javascript片段放到blogger的範本中&lt;br /&gt;這樣我看到好文章就可以在我的blogger中分享給來看我的blog的朋友啦&lt;br /&gt;是不是很棒呢&lt;br /&gt;google...請多點這種整合的服務吧&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115105626685161100?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115105626685161100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115105626685161100&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115105626685161100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115105626685161100'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/06/bloggergoogle-reader.html' title='整合你的blogger與google reader'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115090055812724499</id><published>2006-06-21T22:27:00.000+08:00</published><updated>2006-06-21T22:35:58.140+08:00</updated><title type='text'>讓GIMP處理Nikon的NEF檔案</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/ufraw.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/320/ufraw.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;前陣子朋友問到我有沒有在用nef的格式處理影像&lt;br /&gt;因為我是一個大懶人，所以都直接存Jpeg格式&lt;br /&gt;後來因為被問到這件事，所以就去找找GIMP的plugin&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ufraw.sourceforge.net/"&gt;UFRaw&lt;/a&gt;這個project就是針對數位相機的RAW檔案來處理&lt;br /&gt;他有獨立的程式可以處理raw影像&lt;br /&gt;也可以在GIMP加入一個plugin來使用&lt;br /&gt;(如果你跟我一樣用Gentoo，請在USE加上gimp在執行emerge)&lt;br /&gt;&lt;br /&gt;這樣一來在linux上也可以處理RAW image啦&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115090055812724499?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115090055812724499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115090055812724499&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115090055812724499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115090055812724499'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/06/gimpnikonnef.html' title='讓GIMP處理Nikon的NEF檔案'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115071282664675043</id><published>2006-06-19T18:11:00.000+08:00</published><updated>2006-06-19T18:27:06.666+08:00</updated><title type='text'>Google Reader</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/google-reader.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/320/google-reader.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;算起來我也是一個Blog的大量讀者(雖然有人因此覺得我很閒)&lt;br /&gt;試過很多種的RSS reader讓我不必用web browser去一個一個開&lt;br /&gt;甚至後來是用thunderbird就收收news&lt;br /&gt;但是有時候也挺不方便的&lt;br /&gt;雖然firefox試著讓blog的閱讀更為方便&lt;br /&gt;但是還是覺得麻煩&lt;br /&gt;而且有時候到另外的電腦想看blog news&lt;br /&gt;想那個自己有在看的網址就瘋了(老了 記憶不好)&lt;br /&gt;&lt;br /&gt;google reader這個service我覺得還挺不錯的&lt;br /&gt;首先吸引我的是他的介面設計&lt;br /&gt;那簡約的介面讓人覺得很可愛也很時尚&lt;br /&gt;而且重要的是我可以在任何連上網路的PC閱讀我訂閱的blog news&lt;br /&gt;因為只要一個google account.....everything is on internet&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115071282664675043?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115071282664675043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115071282664675043&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115071282664675043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115071282664675043'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/06/google-reader.html' title='Google Reader'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115070325621534432</id><published>2006-06-19T15:36:00.000+08:00</published><updated>2006-06-19T15:49:24.850+08:00</updated><title type='text'>Firefox的殺手級延伸套件: AllPeers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/allpeers.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/400/allpeers.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;自從今年初AllPeers開始說他們將在Firefox上面實作出web介面的個人P2P擴充套件後&lt;br /&gt;最近終於正式開始beta測試了&lt;br /&gt;&lt;br /&gt;AllPeers是一個類似BT的下載機制&lt;br /&gt;但是他可以在自己的族群內傳遞&lt;br /&gt;也就是說你可以更方便的在你的朋友間傳遞音樂或其他檔案&lt;br /&gt;不像已往用Bittorrent的時候必須建立bt檔案(這個bt檔必須是要讓人找到)&lt;br /&gt;AllPeers非常的方便，你幾乎只要選取你的分享檔案在選擇分享給哪些人&lt;br /&gt;其他的事你都不用傷腦筋&lt;br /&gt;&lt;br /&gt;目前測試版只能推荐3名朋友使用(抱歉, 我自己留一個測試, 另二個也用完)&lt;br /&gt;不過我想之後應該會正式開放&lt;br /&gt;使用者必須使用firefox當你的browser，且必須安裝他的套件&lt;br /&gt;在音樂分享的市場上又出現這個非常特別的新力量&lt;br /&gt;更方便的分享.......真棒&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115070325621534432?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115070325621534432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115070325621534432&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115070325621534432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115070325621534432'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/06/firefox-allpeers.html' title='Firefox的殺手級延伸套件: AllPeers'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-115018969661404576</id><published>2006-06-13T16:37:00.000+08:00</published><updated>2006-06-13T17:08:16.626+08:00</updated><title type='text'>自由分享的陣營再次撼動世界的武器: FON</title><content type='html'>FON這個從去年底出現的東西&lt;br /&gt;短短不到一年已經產生了不可思議的結果&lt;br /&gt;到底甚麼是FON呢&lt;br /&gt;&lt;br /&gt;簡單來說，它將架構出全世界最大的wireless社群&lt;br /&gt;現在許多國家都市都在努力的強化其無線網路覆蓋率&lt;br /&gt;以台灣來說，M-Taiwan的WiMax計劃或是無線台北城都是一例&lt;br /&gt;其實台灣的腳步已經算快，但依然讓人感覺整個進度十分緩慢&lt;br /&gt;其中一個常常搞不定的往往是business model&lt;br /&gt;是的，沒有看到賺頭不會有公司做公益的&lt;br /&gt;&lt;br /&gt;但想想，其實台灣家家已經幾乎都有無線網路&lt;br /&gt;問題是當你外出時就無用武之地&lt;br /&gt;想在麥當勞上網要看看你的ISP有沒有提供這裡的上網服務&lt;br /&gt;或是去買點數卡&lt;br /&gt;天呀，我家裡有wireless呀.....ㄏㄏ&lt;br /&gt;&lt;br /&gt;所以當所有人都將部份無線頻寬分享出來給需要的人&lt;br /&gt;而當你外出時，你也可以使用別人分享出來的無線網路&lt;br /&gt;這就是FON的基本精神.....我分享，我享受分享&lt;br /&gt;&lt;br /&gt;但是FON也不是單純的傳道式分享&lt;br /&gt;他也加入了business model&lt;br /&gt;所以他將所有FON的成員(稱為foneros...西班牙文)分成三類&lt;br /&gt;&lt;br /&gt;第一類是徹底的分享主義者: Linus&lt;br /&gt;沒錯，他用Linux的原始創作者為名，這類人選擇不用任何代價的將無線網路分享出來&lt;br /&gt;當然他也可以無任何代價的使用別人的分享&lt;br /&gt;&lt;br /&gt;第二類是商業模式份子: Bill&lt;br /&gt;這裡有點故意歐，不過用微軟的比爾大叔來代表商業模式應該也挺切題的&lt;br /&gt;這類人分享自己的無線網路但是需要你付他些許費用&lt;br /&gt;當然，這類人也該付費使用別人的無線網路&lt;br /&gt;&lt;br /&gt;第三類人稱為: Alien&lt;br /&gt;不用多說啦，你還不想加入FON的人....只能叫你異型了&lt;br /&gt;&lt;br /&gt;這樣的分享精神在歐洲造成十分大的震撼&lt;br /&gt;也產生了相當多的foneros&lt;br /&gt;甚至已經遠遠超過全世界的無線覆蓋計劃&lt;br /&gt;目前主要的問題是之前他使用某些特定的wireless router&lt;br /&gt;透過更新firmware讓他變成一個FON device&lt;br /&gt;但是這樣畢竟有很多限制&lt;br /&gt;隨著智邦幫FON做出的第一個FON router將於9月上市&lt;br /&gt;FON所產生的威力才正要開始起飛&lt;br /&gt;&lt;br /&gt;想想以後你出國旅遊根本不用擔心你如何上網&lt;br /&gt;因為FON is anywhere.......what a wonderful world&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.fon.com"&gt;FON官方網站&lt;/a&gt;&lt;br /&gt;(裏面有台灣的網站連結, 還有可以查詢地區目前的Foneros, 雖然台灣目前只有幾隻貓)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-115018969661404576?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/115018969661404576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=115018969661404576&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115018969661404576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/115018969661404576'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/06/fon.html' title='自由分享的陣營再次撼動世界的武器: FON'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114973634259168564</id><published>2006-06-08T11:02:00.000+08:00</published><updated>2006-06-08T11:12:22.606+08:00</updated><title type='text'>科技帶來更方便的溝通?</title><content type='html'>最近公司要我去接別人開始寫一半的Project(其實這種80%都是屎job)&lt;br /&gt;所以必須跟遠方的工程師溝通他之前寫的code&lt;br /&gt;(一個跟台灣很近, 號稱是同國, 還一直想打你的那個國家.....別理我....不想提這個國家)&lt;br /&gt;不知道大家習慣如何與人溝通&lt;br /&gt;拿起電話? 寫E-mail? Skype? MSN簡訊?......&lt;br /&gt;我覺得現在溝通管道變多了, 但是真的對溝通有幫助嗎&lt;br /&gt;其實我還滿喜歡類似mail-list或是簡單的email這種方式&lt;br /&gt;因為不會擔心會不會打擾人家的工作&lt;br /&gt;也可以把問題詳細用文字表達清楚&lt;br /&gt;(很多程式語言不是人類語言可以表達的是吧...ㄏㄏ)&lt;br /&gt;但是我發現當你用email把問題提出時&lt;br /&gt;對方一直要你用skype來對話(最好還把老闆拉來一起聽)&lt;br /&gt;但是我的經驗往往是.....&lt;br /&gt;對方知道一件事.......他的口才比你好.....ㄏㄏ&lt;br /&gt;所以這樣的結果往往是.....靠自己&lt;br /&gt;科技使溝通更清楚......我越來越不清楚了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114973634259168564?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114973634259168564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114973634259168564&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114973634259168564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114973634259168564'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/06/blog-post.html' title='科技帶來更方便的溝通?'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114959749621261994</id><published>2006-06-06T20:37:00.000+08:00</published><updated>2006-06-06T20:38:16.233+08:00</updated><title type='text'>使用MusicXML了解Visitor</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);" &gt;從MusicXML這個用來表達音樂譜記的XML規範出來後，一直想找個時間好好研究它(可能是因為心中對玩音樂這件事的遺憾吧)。隨著越來越多的寫譜程式支援這種格式當成中繼的交換格式後，我想MusicXML以後會慢慢改變音樂家使用資訊軟硬體的選擇...&lt;a href="http://joepasscheng.googlepages.com/musicxml"&gt;繼續閱讀&lt;/a&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114959749621261994?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114959749621261994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114959749621261994&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114959749621261994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114959749621261994'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/06/musicxmlvisitor.html' title='使用MusicXML了解Visitor'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114794680849864067</id><published>2006-05-18T18:06:00.000+08:00</published><updated>2006-05-18T18:06:48.550+08:00</updated><title type='text'>RFC2217</title><content type='html'>&lt;p class="mobile-post"&gt;最近被逼著要去開始學習RFC2217的project&lt;br /&gt;其實有一點不想, 但是沒辦法, 拿人家薪水嘛&lt;br /&gt;所以開始研究了一下它&lt;/p&gt;&lt;p class="mobile-post"&gt;說實話RFC2217並不複雜&lt;br /&gt;簡單來說, 他就是將Serial Port變成一個可以在網路上使用的裝置&lt;br /&gt;而client端只要有一個2217相容的軟體&lt;br /&gt;便可以在本機模擬出一個serial port(好吧...COM port)&lt;/p&gt;&lt;p class="mobile-post"&gt;其實Open Source已經有一些project針對2217來實作&lt;br /&gt;最近看了幾個, 跟各位分享一下&lt;/p&gt;&lt;p class="mobile-post"&gt;(1) ser2net&lt;/p&gt;&lt;p class="mobile-post"&gt;這個project會開啟2個socket, 一個用來當成控制用, 另一個是用來傳送RFC2217 data&lt;/p&gt;&lt;p class="mobile-post"&gt;(2) sercd&lt;/p&gt;&lt;p class="mobile-post"&gt;sercd利用了inetd的機制來實作, 因此他非常的簡單, 簡單到只有一個C檔案&lt;br /&gt;但是有時候簡單的作法反而比較好, ㄏㄏ&lt;br /&gt;因此使用他的前提是你必須安裝inetd或是xinetd&lt;br /&gt;並且將/etc/service與inetd的設定檔設好(xinetd要加入他的設定檔至xinetd的&lt;br /&gt;service目錄)&lt;/p&gt;&lt;p class="mobile-post"&gt;(3) telnetcpcd&lt;/p&gt;&lt;p class="mobile-post"&gt;這個daemon我比較欣賞的地方是他將RFC2217的部份分離開來&lt;br /&gt;所以很清楚的知道2217的運作流程&lt;/p&gt;&lt;p class="mobile-post"&gt;另外, Java有一個RFC2217的library可以使用(都沒有C語言的....真是)&lt;br /&gt;一般來說2217的連接並不困難&lt;br /&gt;但我覺得問題是安全性的問題&lt;/p&gt;&lt;p class="mobile-post"&gt;因為這類設備的應用有時候也還挺需要保密的&lt;br /&gt;例如一些遠端環境監控設備, 遠端瓦斯錶&lt;br /&gt;早期這些設備多是serial port的設備&lt;br /&gt;在網路越來越發達的時候就會想要把他加入網路而能夠從遠端監控&lt;/p&gt;&lt;p class="mobile-post"&gt;但是RFC2217只定義了serial轉換network的這段&lt;br /&gt;舉例來說, ser2net會先建立data port然後建立controll port&lt;br /&gt;但這種裝況下所有在網路上的點都可以存取它(他的data socket一開始便存在)&lt;br /&gt;他的作法不像SIP是先在控制端討論好後&lt;br /&gt;再建立一個data session(for voice)&lt;br /&gt;所以基本上我並不是很喜歡這種作法&lt;/p&gt;&lt;p class="mobile-post"&gt;很多工控設備的廠商大多把精力花在去弄控制介面&lt;br /&gt;譬如, 用網頁控制或是用自己的AP utility去控制&lt;br /&gt;但是我覺得這段卻比較少去改變&lt;br /&gt;加上很多公司都是拿了Open Source的程式碼去修改&lt;br /&gt;加入一些user friendly的功能便要開始賺錢(又不open source....沒良心)&lt;br /&gt;這種情況之下......其實我也沒太大興趣了&lt;br /&gt;but.....Money Talks.........&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114794680849864067?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114794680849864067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114794680849864067&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114794680849864067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114794680849864067'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/05/rfc2217.html' title='RFC2217'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114740393863094561</id><published>2006-05-12T11:06:00.000+08:00</published><updated>2006-05-12T11:18:58.646+08:00</updated><title type='text'>Walk through TreeView</title><content type='html'>很久沒有寫GUI程式了&lt;br /&gt;最近幫我老姐的論文程式重寫了一個新版本&lt;br /&gt;(之前那個是及就章的成品, 現在這個.....算堪用吧 ㄏㄏ)&lt;br /&gt;這程式是用在我姐的音樂資料整理與分析(我老姐是唸音樂教育的)&lt;br /&gt;有興趣可以用用, 我放在中研院的自由軟體鑄造場(&lt;a href="http://rt.openfoundry.org/Foundry/Project/index.html?Queue=591"&gt;here&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;在寫的同時也有一些在gtkmm上面小小的心得(我用gtkmm為GUI widget system)&lt;br /&gt;其中一個便是如標題所示&lt;br /&gt;有興趣請&lt;a href="http://joepasscheng.googlepages.com/walkthroughtreeview"&gt;到此閱讀&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114740393863094561?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114740393863094561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114740393863094561&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114740393863094561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114740393863094561'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/05/walk-through-treeview.html' title='Walk through TreeView'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114614539148908267</id><published>2006-04-27T21:25:00.000+08:00</published><updated>2006-05-12T00:13:12.043+08:00</updated><title type='text'>作業系統大混戰</title><content type='html'>最近一個挺熱門的話題就是在OS跑其他OS&lt;br /&gt;不管是在linux跑windows或是反過來&lt;br /&gt;最近各陣營都有很多進展&lt;br /&gt;其實我不是很喜歡這樣的操作&lt;br /&gt;喜歡linux就努力把他改善&lt;br /&gt;喜歡windows就多寫點open source的程式....ㄏㄏ&lt;br /&gt;&lt;br /&gt;老喜歡在windows上跑vmware的朋友&lt;br /&gt;還真是錢多硬體強...ㄏㄏ&lt;br /&gt;像我的linux多跑點daemon&lt;br /&gt;也沒剩多少RAM了&lt;br /&gt;WinXP在128MB下面跑似乎是災難&lt;br /&gt;更別說我大概只能空出32-64MB了(好吧 我很窮 買不起ram)&lt;br /&gt;&lt;br /&gt;不過最近我倒是用起了Qemu這個processor emulator&lt;br /&gt;不過不是要想跑windows啦(沒這麼想不開)&lt;br /&gt;而是.....Minix3&lt;br /&gt;&lt;br /&gt;這個Microkernel的OS&lt;br /&gt;以前便想要試試&lt;br /&gt;但是歐....我想目前在minix有太多事不好做(沒辦法 多年來有些GUI還是習慣)&lt;br /&gt;這時候用Qemu便是很棒的solution&lt;br /&gt;因為呀, 我只要給他32MB的RAM就跑的嚇嚇叫&lt;br /&gt;&lt;br /&gt;我想花點時間研究一下作業系統的實做也是很棒&lt;br /&gt;畢竟linux kernel現在也是百萬行級的source code了&lt;br /&gt;幾千行的Minix3應該比較優吧&lt;br /&gt;&lt;br /&gt;不過.....天瓏書局那本OS新書到底何時才要進來呀&lt;br /&gt;望穿秋水.......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114614539148908267?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114614539148908267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114614539148908267&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114614539148908267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114614539148908267'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/04/blog-post.html' title='作業系統大混戰'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114482424138187896</id><published>2006-04-12T14:36:00.000+08:00</published><updated>2006-04-12T14:44:01.403+08:00</updated><title type='text'>bcm43xx linux driver</title><content type='html'>最近終於找了個時間換到2.6.16的kernel&lt;br /&gt;唯一驅動我去更新kernel的動力就是: &lt;a href="http://bcm43xx.berlios.de/"&gt;bcm43xx&lt;/a&gt;&lt;br /&gt;我的laptop的wireless chip是broadcom的bcm4306&lt;br /&gt;但是一直沒有linux下面的driver可用&lt;br /&gt;後來雖然都用ndiswrapper也可以連上無線網路&lt;br /&gt;但是總是有一些問題(我遇到的主要都在multicast的部份)&lt;br /&gt;&lt;br /&gt;隨著這個open source的driver一直進步&lt;br /&gt;讓我一直想試試&lt;br /&gt;無奈於那時我的kernel是2.6.13，所以一直拖到現在&lt;br /&gt;&lt;br /&gt;anyway，試過之後.....真是愉快呀&lt;br /&gt;我的linux laptop越來越棒了&lt;br /&gt;給這些沒有hardware spec還可以寫出driver的天才朋友們一個無敵的掌聲吧&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114482424138187896?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114482424138187896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114482424138187896&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114482424138187896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114482424138187896'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/04/bcm43xx-linux-driver.html' title='bcm43xx linux driver'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114319456897575577</id><published>2006-03-24T17:54:00.000+08:00</published><updated>2006-03-24T18:02:49.003+08:00</updated><title type='text'>kernel 2.6.16</title><content type='html'>最近linux kernel 2.6.16的釋出新聞出現在各個news中&lt;br /&gt;想想我還在用2.6.13就有點想給他換一下&lt;br /&gt;新的2.6.16有了一些新的filesystem的支援&lt;br /&gt;譬如說mac的HFSX&lt;br /&gt;另外，他更支援了CELL這個處理器&lt;br /&gt;不知道Cell嗎&lt;br /&gt;&lt;span style="font-family:Arial,Helvetica;font-size:100%;"&gt;他是Cell Broadband Engine Architecture&lt;/span&gt;，&lt;span style="font-family:Arial,Helvetica;font-size:100%;"&gt;64-bit PowerPC-derived&lt;br /&gt;還是不知道......沒關係&lt;br /&gt;PS3就是用這顆&lt;br /&gt;不知道gaim2.0正式版何時出現&lt;br /&gt;一堆要升級&lt;br /&gt;幹脆重灌一次gentoo吧.....ㄏㄏ&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114319456897575577?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114319456897575577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114319456897575577&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114319456897575577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114319456897575577'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/03/kernel-2616.html' title='kernel 2.6.16'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114258890654454722</id><published>2006-03-17T17:41:00.000+08:00</published><updated>2006-03-17T17:48:26.580+08:00</updated><title type='text'>AJAX....讓browser成為OS唯一需要的軟體</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/meebo.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/320/meebo.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;AJAX這個最近暴紅的東西，相信大家多少都聽過了吧&lt;br /&gt;AJAX並不是新的技術，而是將一些舊東西包裝成一個完整的架構&lt;br /&gt;他是Asynchronous JavaScript and XML的簡稱&lt;br /&gt;為何最近他這麼紅呢....因為Google與Yahoo都利用這個技術&lt;br /&gt;想想你的gmail不是把google talk整合進去了嗎&lt;br /&gt;沒錯....就是使用AJAX&lt;br /&gt;&lt;br /&gt;上圖是一個更酷的應用&lt;a href="http://www32.meebo.com/"&gt;Meebo&lt;/a&gt;&lt;br /&gt;用borwser成為你的IM軟體&lt;br /&gt;酷吧....下次到別人的電腦也想找朋友MSN或其他IM message&lt;br /&gt;不用在別人的電腦新增帳號了&lt;br /&gt;借個Firefox用用就是(好啦....IE也可以)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114258890654454722?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114258890654454722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114258890654454722&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114258890654454722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114258890654454722'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/03/ajaxbrowseros.html' title='AJAX....讓browser成為OS唯一需要的軟體'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114250838450718944</id><published>2006-03-16T19:17:00.000+08:00</published><updated>2006-03-16T19:26:24.520+08:00</updated><title type='text'>讓linux自動連接網路</title><content type='html'>用習慣windows的朋友常常會抱怨&lt;br /&gt;linux的網路設定很麻煩，不像windows幾乎都不用設定&lt;br /&gt;當然我不完全贊同，但是面對沒有資訊know-how的朋友&lt;br /&gt;要他們使用ifconfig或是修改init.d內部script的 設定檔&lt;br /&gt;我想跟要他們的命差不多吧&lt;br /&gt;但是....自由世界的好處是....有需求就會有人去花時間貢獻&lt;br /&gt;&lt;a href="http://0pointer.de/lennart/projects/ifplugd/"&gt;ifplugd&lt;/a&gt;是一個能讓你的linux自己偵測到有網路連接上時&lt;br /&gt;自動設定所有網路讓你完全沒有知覺&lt;br /&gt;包括wireless也可以自動設定&lt;br /&gt;很懶的每次設定網路的朋友....試試吧&lt;br /&gt;不過......你還是得學會如何安裝他...ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114250838450718944?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114250838450718944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114250838450718944&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114250838450718944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114250838450718944'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/03/linux.html' title='讓linux自動連接網路'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114196059900189908</id><published>2006-03-10T11:06:00.000+08:00</published><updated>2006-03-10T11:16:39.013+08:00</updated><title type='text'>用linux錄製DVB-T節目</title><content type='html'>最近發現很多公共電視的節目其實真的很優質&lt;br /&gt;只是大家都不太看，真的很可惜&lt;br /&gt;但是發現另外一個問題是.....很多好節目都是上班時間播出&lt;br /&gt;雖然目前公視都數位化了，我也有DVB-T的接收裝置&lt;br /&gt;總不好上班給他看電視吧&lt;br /&gt;台灣的TiVo又不知道如何.....(大同到底有沒有推呀...ㄏㄏ)&lt;br /&gt;因此我就開始了自己錄製DVB的生活&lt;br /&gt;當然我是用linux&lt;br /&gt;其實mplayer除了是一個很好的multimedia player之外&lt;br /&gt;他也可以拿來錄製節目&lt;br /&gt;你可以利用&lt;br /&gt;&lt;br /&gt;mplayer dvb://"你定的頻道名稱" -dumpstream -dumpfile "你想要存的檔名"&lt;br /&gt;&lt;br /&gt;控制好時間或是利用cron就可以把一個你想要的節目錄下&lt;br /&gt;這邊錄下的是一個TS檔案&lt;br /&gt;mplayer中有一個encoder程式: mencoder可以幫你轉檔&lt;br /&gt;為了節省我notebook的空間，我存成mpeg4&lt;br /&gt;&lt;br /&gt;mencoder -oac copy -ovc lavc -lavcopts vcodec=mpeg4 -o "你希望的檔名" "剛剛的TS檔案"&lt;br /&gt;&lt;br /&gt;很棒吧，Open Source萬歲&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114196059900189908?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114196059900189908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114196059900189908&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114196059900189908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114196059900189908'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/03/linuxdvb-t.html' title='用linux錄製DVB-T節目'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114173637798058289</id><published>2006-03-07T20:58:00.000+08:00</published><updated>2006-03-07T20:59:37.996+08:00</updated><title type='text'>軟體工程師 你以後想幹啥</title><content type='html'>最近一些朋友勸我別在一直寫程式了&lt;br /&gt;他們問我&lt;br /&gt;身為軟體工程師，你到底想要做甚麼&lt;br /&gt;他們普遍認為，在這個中國大陸的衝擊下&lt;br /&gt;台灣的軟體工程師將儘快變成leader之類的人物&lt;br /&gt;然後去叫大陸的工程師寫程式，否則以後都慢慢要失業&lt;br /&gt;&lt;br /&gt;我不知道台灣的軟體業到底是會走到何種地步&lt;br /&gt;但是身為一個軟體工程師我覺得還挺好玩的&lt;br /&gt;不是拿到薪水的時候也不是分到股票的時候&lt;br /&gt;而是學著寫一些自己不會的程式的時候&lt;br /&gt;或許以硬體製造壯大的台灣不見得會發展軟體工程很好&lt;br /&gt;但是我總覺得，應該去作自己喜歡的事&lt;br /&gt;反正不會變成王永慶也不至於淪落街頭&lt;br /&gt;或許很沒志氣，但是卻很有趣&lt;br /&gt;&lt;br /&gt;我不喜歡當leader，我喜歡coding&lt;br /&gt;或許我不會擁有這些朋友的好車大宅&lt;br /&gt;但是我想他們卻永遠不能理解我所擁有的&lt;br /&gt;你問我是甚麼.....另一個有趣的code吧&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114173637798058289?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114173637798058289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114173637798058289&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114173637798058289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114173637798058289'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/03/blog-post.html' title='軟體工程師 你以後想幹啥'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114102305603745208</id><published>2006-02-27T14:44:00.000+08:00</published><updated>2006-02-27T14:51:39.986+08:00</updated><title type='text'>很有用的小工具: pipe viewer</title><content type='html'>最近用到一些需要長時間執行的測試工作&lt;br /&gt;一跑就是半個到一個小時&lt;br /&gt;我可不想再一個小時後才知道失敗&lt;br /&gt;因此有許多工作都希望能監看進度&lt;br /&gt;這個時候&lt;a href="http://www.ivarch.com/programs/pv.shtml"&gt;pipe viewer&lt;/a&gt;這個小程式就非常好用啦&lt;br /&gt;他會產生一個pipe當作兩個程式間的輸出入&lt;br /&gt;就跟你正常用不具名pipe 一樣&lt;br /&gt;然後他會秀出你要的資訊在terminal上面&lt;br /&gt;很棒吧......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114102305603745208?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114102305603745208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114102305603745208&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114102305603745208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114102305603745208'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/02/pipe-viewer.html' title='很有用的小工具: pipe viewer'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-114070054330359555</id><published>2006-02-23T21:04:00.000+08:00</published><updated>2006-02-23T21:15:43.440+08:00</updated><title type='text'>測試工程師: 測出產品的缺點?證實產品是好的?</title><content type='html'>最近被貶為測試工程師&lt;br /&gt;只好認命去做了幾天&lt;br /&gt;其實大部份我看過的測試工程師都是照著engineer告訴你的方式在做一次&lt;br /&gt;大多數是做一些長時間的無趣工作&lt;br /&gt;這讓我覺得十分奇特&lt;br /&gt;&lt;br /&gt;因為我想engineer敢拿出來給你測試&lt;br /&gt;代表他對於那樣的運作應該有點把握&lt;br /&gt;測試者一樣畫葫蘆的結果大多不會有啥不同&lt;br /&gt;所以問題大多出現在拿出去給客戶後&lt;br /&gt;因為客戶的測試者不知道你之前是如何測試的&lt;br /&gt;因此他用自己的準則去測&lt;br /&gt;或許跟你之前的想法不同&lt;br /&gt;但這應該也是測試的精神吧&lt;br /&gt;因為會乖乖照說明書操作的使用者也不多是吧&lt;br /&gt;&lt;br /&gt;因此一個好的測試工程師應該不是一個對程式不了解甚至不會寫程式的人&lt;br /&gt;反倒是他甚至應該自己寫不合理的程式攻擊你的產品&lt;br /&gt;但是經過這段期間我得到的教訓是&lt;br /&gt;在我目前的公司......老方法還是比較受歡迎&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-114070054330359555?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/114070054330359555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=114070054330359555&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114070054330359555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/114070054330359555'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/02/blog-post.html' title='測試工程師: 測出產品的缺點?證實產品是好的?'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113991013236685747</id><published>2006-02-14T17:36:00.000+08:00</published><updated>2006-02-14T17:42:12.390+08:00</updated><title type='text'>windows上的sip softphone</title><content type='html'>前幾天跟大家說有免費SIP帳號&lt;br /&gt;發現因為使用MS作業系統的人實在太多&lt;br /&gt;順便介紹個windows的software sip phone給大家吧&lt;br /&gt;&lt;a href="http://www.nch.com.au/talk/"&gt;Express Talk&lt;/a&gt;是一個freeware(沒有source的免費軟體)&lt;br /&gt;他的NAT traversal功能也OK&lt;br /&gt;介面也還可以&lt;br /&gt;雖然只支援a-law, u-law的PCM與GSM編碼&lt;br /&gt;但是算OK了(speex與iLBC的效果好很多)&lt;br /&gt;win32平台的朋友可以試試&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113991013236685747?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113991013236685747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113991013236685747&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113991013236685747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113991013236685747'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/02/windowssip-softphone.html' title='windows上的sip softphone'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113982704597686615</id><published>2006-02-13T18:24:00.000+08:00</published><updated>2006-02-13T18:37:25.996+08:00</updated><title type='text'>一個值得推荐的web server: lighttpd</title><content type='html'>最近公司裡的"大人"突然說要把我們embedded linux上面的web server加上SSL的功能&lt;br /&gt;而且我只有一個星期的時間(因為他們覺得大概是打開某個選項打勾勾....MS受害者)&lt;br /&gt;我們原先使用thttpd與boa這些web server原先都沒有支援SSL&lt;br /&gt;我發現uClinux版本的boa有SSL支援&lt;br /&gt;本來在我興高采烈的將uClinux boa給他cross-compiler後放到device上&lt;br /&gt;卻發現..........原本一些cookie設定的功能不work了&lt;br /&gt;天呀........只剩1天(因為太懶了......慢慢做.....)&lt;br /&gt;&lt;br /&gt;這時候的我痛苦萬分&lt;br /&gt;突然想到在slashdot的RSS news中看過一個新的lightweight web daemon: &lt;a href="http://www.lighttpd.net/"&gt;lighttpd&lt;/a&gt;&lt;br /&gt;只好趕緊download來試試(我不想熬夜開boa的source code....ㄏㄏ)&lt;br /&gt;在經過一些cross-compiler的處理後&lt;br /&gt;沒有太多問題的將lighttpd放到arm9的device上&lt;br /&gt;設定一下conf檔案&lt;br /&gt;加上pem認證檔案&lt;br /&gt;&lt;br /&gt;就這麼解決了這個問題&lt;br /&gt;lighttpd真是一個很優秀的project&lt;br /&gt;他的size很小，反應速度也很快&lt;br /&gt;又是與apache一樣使用module plugin的方式擴充功能&lt;br /&gt;這樣的web server daemon絕對要介紹給你&lt;br /&gt;有web interface的朋友&lt;br /&gt;趕緊試試吧&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113982704597686615?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113982704597686615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113982704597686615&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113982704597686615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113982704597686615'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/02/web-server-lighttpd.html' title='一個值得推荐的web server: lighttpd'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113966730903258010</id><published>2006-02-11T21:50:00.000+08:00</published><updated>2006-02-11T22:15:09.130+08:00</updated><title type='text'>我的老notebook利用計劃</title><content type='html'>過年前從台南老家帶回一台多年的的老舊notebook&lt;br /&gt;PIII 300MHz的就機型, 128MB的RAM&lt;br /&gt;看起來似乎已經可以拆開來當作廢鐵出售&lt;br /&gt;不......我決定廢物利用&lt;br /&gt;&lt;br /&gt;首先, 這台notebook受到我老妹的可樂攻擊(整罐直接從keyboard灌頂)&lt;br /&gt;再加上被我老家的臭貓咪把鍵盤每一個鍵都抓濫了&lt;br /&gt;因此原本的keyboard已經算是毀了&lt;br /&gt;還好這台舊notebook還有一個PS/2 port讓我接上一個老舊的keyboard&lt;br /&gt;(還有PS/2的keyboard....神奇吧)&lt;br /&gt;但是其實重點是因為它遭受這些寧虐&lt;br /&gt;他的ethernet chip似乎瘋了......mac address永遠是00:00:00:00:00:00&lt;br /&gt;所以當我把gentoo linux在他上面安裝完成後&lt;br /&gt;每次都要用ifconfig給他mac address很令人困擾&lt;br /&gt;還好看到&lt;a href="http://www.alobbs.com/modules.php?op=modload&amp;name=macc&amp;amp;file=index"&gt;macchanger&lt;/a&gt;這個project&lt;br /&gt;在gentoo的網路設定裏面可以利用它指定MAC address&lt;br /&gt;因此就不用每次手動改了(感謝Open Source)&lt;br /&gt;&lt;br /&gt;這個系統有何用處呢?&lt;br /&gt;我有一堆的CD,  每次要找一首歌都很麻煩&lt;br /&gt;因此我習慣將他轉成電腦檔案&lt;br /&gt;但是當這些mp3越來越多後&lt;br /&gt;我自己的notebook硬碟空間就有點吃緊&lt;br /&gt;而且......還是很難找歌&lt;br /&gt;&lt;br /&gt;因此我將這台老notebook變成一台music server&lt;br /&gt;我使用mt-daapd這個很棒的project&lt;br /&gt;把它變成一個local iTune server&lt;br /&gt;因為這台舊notebook我設定是用dhcp取得ip位置&lt;br /&gt;這構成一個問題.......我不希望要上傳歌曲時候還要去那邊login&lt;br /&gt;(IP雖然大多時候router都給一樣, 但是不保證....ㄏㄏ)&lt;br /&gt;因此我在他上面裝了avahi daemon&lt;br /&gt;這樣我可以透過zeroconf這個協定知道music server的位置&lt;br /&gt;(應該說他有提供的服務)&lt;br /&gt;因此我在avahi上面啟動了2個service: ssh與daap&lt;br /&gt;(因為mt-daapd本身就有實做zeroconf的部份, 但是啟動時可以利用"-m"的參數停止)&lt;br /&gt;&lt;br /&gt;這樣一來, 我的舊notebook就變成我們家一台music server啦&lt;br /&gt;windows平台只要有安裝iTune軟體就可以直接播放它的音樂&lt;br /&gt;linux當然也可以啦, 我使用TunesBrowser來播放&lt;br /&gt;一台老舊的notebook就此找到他的新生命&lt;br /&gt;Open Source真是太屌啦&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113966730903258010?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113966730903258010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113966730903258010&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113966730903258010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113966730903258010'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/02/notebook.html' title='我的老notebook利用計劃'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113955913309764372</id><published>2006-02-10T16:06:00.000+08:00</published><updated>2006-02-10T16:12:13.110+08:00</updated><title type='text'>免費的SIP帳號</title><content type='html'>最近看到一個免費的SIP帳號提供&lt;br /&gt;你可以到&lt;a href="http://sip.antisip.com/"&gt;http://sip.antisip.com/&lt;/a&gt;&lt;br /&gt;去註冊一個帳號&lt;br /&gt;然後找一個SIP的softphone軟體&lt;br /&gt;就可以享受VoIP的世界啦&lt;br /&gt;&lt;br /&gt;個人建議&lt;a href="http://www.linphone.org/?lang=us&amp;rubrique=1"&gt;linphone&lt;/a&gt;&lt;br /&gt;雖然介面並不是很好看&lt;br /&gt;但是他具有NAT traversal的功能&lt;br /&gt;這個就是當你處在一個內部虛擬ip的環境中&lt;br /&gt;你可以指定你的對外ip(其實也就是你的router的ip)&lt;br /&gt;這樣外面網路的人還是可以call你歐&lt;br /&gt;&lt;br /&gt;有申請帳號的朋友記得告訴我&lt;br /&gt;改天或許我們可以聊個天&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113955913309764372?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113955913309764372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113955913309764372&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113955913309764372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113955913309764372'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/02/sip.html' title='免費的SIP帳號'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113800747582878652</id><published>2006-01-23T16:57:00.000+08:00</published><updated>2006-01-31T07:17:54.153+08:00</updated><title type='text'>用linux看數位電視</title><content type='html'>最近尾牙抽中一台DVB-T的數位STB&lt;br /&gt;但是那台STB只支援windows平台&lt;br /&gt;所以我後來決定把他賣掉&lt;br /&gt;換了一台Twinhan的USB DVB-T  device&lt;br /&gt;( TwinhanDTV Alpha)&lt;br /&gt;選擇這個是因為他可以在windows, Mac, Linux上使用&lt;br /&gt;在重新compiler kernel把相關的driver module建立後&lt;br /&gt;(dvb-usb-vp7045.ko,dvb-usb.ko...)&lt;br /&gt;還需要從&lt;a href="http://www.linuxtv.org/"&gt;linuxtv&lt;/a&gt;的網站上download相關的firmware&lt;br /&gt;(以我的為例, 是dvb-usb-vp7045-01.fw)&lt;br /&gt;將他下載到你的hotplug的firmware目錄&lt;br /&gt;你可以檢查你的/etc/hotplug/firmware.agent的內容&lt;br /&gt;裏面有一行&lt;br /&gt;FIRMWARE_DIR=/lib/firmware&lt;br /&gt;這就是你應該放firmware的目錄&lt;br /&gt;一切ok後你只要接上你的device&lt;br /&gt;在/dev目錄下應該就會看到dvb的目錄了&lt;br /&gt;&lt;br /&gt;我是使用mplayer來看dvb-t&lt;br /&gt;所以我使用linuxtv-dvb-apps的utility來掃描頻道&lt;br /&gt;建出我的channels.conf放到mplayer的設定目錄下&lt;br /&gt;直接用mplayer dvb://"你的頻道名稱"&lt;br /&gt;就ok啦&lt;br /&gt;&lt;br /&gt;上班看電視.....有點罪惡感....ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113800747582878652?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113800747582878652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113800747582878652&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113800747582878652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113800747582878652'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/01/linux.html' title='用linux看數位電視'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113766478896476289</id><published>2006-01-19T17:57:00.000+08:00</published><updated>2006-01-19T17:59:50.270+08:00</updated><title type='text'>mplayer 1.0.20060102</title><content type='html'>那天發現mplayer有2006年的新版本&lt;br /&gt;從新compiler了新版的mplayer&lt;br /&gt;發現一些之前我用pre7版本無法正常看的WMV檔案&lt;br /&gt;竟然都OK了&lt;br /&gt;還在用pre7的版本的朋友趕快換成20060102版吧&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113766478896476289?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113766478896476289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113766478896476289&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113766478896476289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113766478896476289'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/01/mplayer-1020060102.html' title='mplayer 1.0.20060102'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113765849386363355</id><published>2006-01-19T16:12:00.000+08:00</published><updated>2006-01-19T16:14:53.876+08:00</updated><title type='text'>gtk wizard</title><content type='html'>最近需要寫一個初始一些資料庫表格的程式，想來想去覺得使用&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;Wizard&lt;/span&gt;&lt;/span&gt;的方式呈現比較適合&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;end user (&lt;/span&gt;&lt;/span&gt;因為不是我要使用，&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;CLI&lt;/span&gt;&lt;/span&gt;介面萬歲&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;)&lt;/span&gt;&lt;/span&gt;，自己還是決定使用&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;Gtk&lt;/span&gt;&lt;/span&gt;來當&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;GUI library (&lt;/span&gt;&lt;/span&gt;我還是不想用&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;Qt&lt;/span&gt;&lt;/span&gt;，&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;Why....&lt;/span&gt;&lt;/span&gt;我也不知道&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;....&lt;/span&gt;&lt;/span&gt;ㄏㄏ&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;)&lt;/span&gt;&lt;/span&gt;，這時候發現&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;Gtk&lt;/span&gt;&lt;/span&gt;並沒有&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;wizard&lt;/span&gt;&lt;/span&gt;這類的&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;widget&lt;/span&gt;&lt;/span&gt;！這時候我有兩個選擇，一個是自己從基本&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;GtkWidget&lt;/span&gt;&lt;/span&gt;建立自己的&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;widget&lt;/span&gt;&lt;/span&gt;；否則就是想辦法利用既有的&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;widget&lt;/span&gt;&lt;/span&gt;來改成&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;wizard widget.....&lt;a href="http://home.so-net.net.tw/joepasscheng/talking/gtk-wizard.html"&gt;read more&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113765849386363355?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113765849386363355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113765849386363355&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113765849386363355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113765849386363355'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/01/gtk-wizard.html' title='gtk wizard'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113696494468536593</id><published>2006-01-11T15:27:00.000+08:00</published><updated>2006-01-11T15:35:44.710+08:00</updated><title type='text'>Linux上面的Zeroconf: Avahi</title><content type='html'>其實Apple真的有許多滿不錯的設計&lt;br /&gt;從AppleTalk到現在的zeroconf都是一種更貼近user的設計&lt;br /&gt;(越來越不了解為何當初MS會穫勝....ㄏㄏ)&lt;br /&gt;zeroconf是一種讓你不用去煩惱網路基本設定就可以使用的機制&lt;br /&gt;他利用了像IPv4 Link-Local與mDNS(multicast DNS)這些技術&lt;br /&gt;大大增加了使用的方便性, 更加具有IA的優勢&lt;br /&gt;&lt;br /&gt;linux終於也有了這類的產品: &lt;a href="http://avahi.org/"&gt;Avahi&lt;/a&gt;&lt;br /&gt;這一個很年輕的project我覺得很棒&lt;br /&gt;對於IA有興趣的朋友可以研究看看&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113696494468536593?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113696494468536593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113696494468536593&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113696494468536593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113696494468536593'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/01/linuxzeroconf-avahi.html' title='Linux上面的Zeroconf: Avahi'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113673421705975720</id><published>2006-01-08T23:10:00.000+08:00</published><updated>2006-01-08T23:30:17.580+08:00</updated><title type='text'>Microsoft再次槓上linux</title><content type='html'>最近由Microsoft的Open-Source Lab&lt;a href="http://www.eweek.com/article2/0,1759,1908908,00.asp?kc=EWRSS03119TX1K0000594"&gt;表示&lt;/a&gt;&lt;br /&gt;一般大家認知的linux可以將一些老舊的硬體做重新利用&lt;br /&gt;他們使用相同的硬體去測試了Red Hat Enterprise Linux, SUSE Pro 9.2, Mandrake 10, Linspire 4.5, Xandros Desktop 3.0, Fedora Core 3, Slackware 10.1, Knoppix 3.7&lt;br /&gt;他們發表說根據實驗的結果, linux的效能反而不如Windows&lt;br /&gt;&lt;br /&gt;關於這個事情, 我有兩個看法&lt;br /&gt;首先, 我想linux的好處我從不覺得是可以用老舊的硬體&lt;br /&gt;反而是linux可以根據不同的硬體去使用不同的軟體&lt;br /&gt;RAM不夠用的硬體就不要用Gnome與KDE&lt;br /&gt;你還是可以使用XFce甚至是IceWM, Window Maker&lt;br /&gt;(或是我使用的Enlightenment...ㄏㄏ)&lt;br /&gt;就連你覺得X Server太笨重&lt;br /&gt;你可以試著將系統建立在DirectFB上面&lt;br /&gt;試著想想如果你使用windows在一個不夠強的硬體上&lt;br /&gt;除了MSDOS外...你還有啥選擇&lt;br /&gt;&lt;br /&gt;再來是我覺得如果Microsoft真的想了解Open-Source&lt;br /&gt;那他們的Lab應該做些有意義的工作&lt;br /&gt;這樣子的研究其實一點意義都沒有&lt;br /&gt;如果有時間與金錢去做這些宣傳與打擊對手的工作&lt;br /&gt;倒不如把時間與金錢花在創造一個更好的軟體&lt;br /&gt;我想這樣open-source的朋友也更覺得有趣吧&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113673421705975720?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113673421705975720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113673421705975720&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113673421705975720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113673421705975720'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2006/01/microsoftlinux.html' title='Microsoft再次槓上linux'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113568889243549488</id><published>2005-12-27T20:48:00.000+08:00</published><updated>2006-01-07T04:36:14.130+08:00</updated><title type='text'>一邊寫程式 一邊寫文件: Doxygen</title><content type='html'>開發一個自己的Open Source程式&lt;br /&gt;有的時候當別人希望你有文件可以讓他更容易了解時&lt;br /&gt;我想對於大多數的engineer來說都是很痛苦的&lt;br /&gt;但是有一個project卻可以幫你解決這個問題&lt;br /&gt;doxygen是一個程式注釋文件系統&lt;br /&gt;當你開始寫程式時&lt;br /&gt;一邊把注解以doxygen的格式寫在程式碼中&lt;br /&gt;最後只要簡單的編輯一個doxygen設定檔&lt;br /&gt;(doxygen也可以幫你產生基本設定檔)&lt;br /&gt;只要執行doxygen&lt;br /&gt;一個完整的文件便可以產生&lt;br /&gt;doxygen可以產生html, latex與rtf格式的輸出&lt;br /&gt;非常的方便&lt;br /&gt;&lt;br /&gt;想讓你的project有一個很棒的reference網站&lt;br /&gt;還是想要給一份很正式的programming文件嗎&lt;br /&gt;doxygen絕對是你不能不去試試的東西&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113568889243549488?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113568889243549488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113568889243549488&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113568889243549488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113568889243549488'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/12/doxygen.html' title='一邊寫程式 一邊寫文件: Doxygen'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113497391708159167</id><published>2005-12-19T14:21:00.000+08:00</published><updated>2005-12-19T14:31:57.096+08:00</updated><title type='text'>Gaim2.0 beta1釋出</title><content type='html'>在最近Gaim釋出了2.0 beta1的版本&lt;br /&gt;自從IM的世界開始大戰之後&lt;br /&gt;我就覺得Gaim實在太棒了&lt;br /&gt;因為他是一個支援各種IM protocol的軟體&lt;br /&gt;大概你有在用的即時通軟體他都支援&lt;br /&gt;(MSN, Yahoo Messager, Google(jabber), ICQ, Zephyr..)&lt;br /&gt;新的版本UI做了些變化&lt;br /&gt;我覺得最值得期待的是2.0後將gaim-vv整合進來了&lt;br /&gt;因為早期Gaim的問題是他並無法作video與audio的通訊&lt;br /&gt;而Gaim-vv是Gaim的另一版本, 使得Gaim具有AV的功能&lt;br /&gt;另外, 這個月15日google釋出了google talk的API library&lt;br /&gt;(libjingle, jingle是jabber的延伸版本)&lt;br /&gt;可以期待將來Gaim將會有google talk的語音功能&lt;br /&gt; 反正現在Sean Egan已經在google上班....ㄏㄏ&lt;br /&gt;(Sean為Gaim的maintainer)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113497391708159167?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113497391708159167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113497391708159167&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113497391708159167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113497391708159167'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/12/gaim20-beta1.html' title='Gaim2.0 beta1釋出'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113495862566174635</id><published>2005-12-19T10:06:00.000+08:00</published><updated>2005-12-19T10:17:05.680+08:00</updated><title type='text'>One Standard or two?</title><content type='html'>今天在OSNews看到一篇文章: &lt;a href="http://consortiuminfo.org/newsblog/blog.php?ID=1839"&gt;&lt;span class="style7"&gt;&lt;b&gt;Is One Standard Always Better than Two?&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; 他探討的是前陣子大家熱烈討論的文題&lt;br /&gt;微軟新的document格式與OASIS的Open Document格式之爭&lt;br /&gt;起因在於因為OpenDocument的格式已經越來越被重視&lt;br /&gt;加上近期OpenOffice2.0的聲勢也勢如破竹&lt;br /&gt;今年稍早的時候原本微軟宣佈新的Office要支援OpenDocument格式&lt;br /&gt;但是後來又決定使用自己的格式XMLRS&lt;br /&gt;微軟宣稱它會是一個OpenStandard&lt;br /&gt;所以他的論點是: 兩個OpenStandard比一個好, 使用者可以選擇&lt;br /&gt;但可以想像引起Open World社群一陣討論&lt;br /&gt;對於文件格式有興趣的朋友可以看看這篇文章&lt;br /&gt;我覺得我的想法也跟他很像&lt;br /&gt;我也不太管有幾個standard, 只要是Open的&lt;br /&gt;我想微軟會讓大家不信任是因為他有太多不良歷史紀錄吧&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113495862566174635?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113495862566174635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113495862566174635&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113495862566174635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113495862566174635'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/12/one-standard-or-two.html' title='One Standard or two?'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113472782994923239</id><published>2005-12-16T18:07:00.000+08:00</published><updated>2005-12-16T18:10:29.963+08:00</updated><title type='text'>淺談Abstract factory</title><content type='html'>&lt;span style="font-size: 13pt;font-size:100%;" &gt;最近又開始把&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;C++&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;拿出來用&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;太久在&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;linux system&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;中都是使用&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;C)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;，重新在開始寫&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;C++&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;卻發現以前對&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;C++&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;的&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;coding&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;有很多不是很好的習慣。以前一開始使用&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;C++&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;比較多其實是在我剛出社會時做&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;windows engineer&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;的時候，那個時候因為都是寫些小程式，所以習慣用&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;UI&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;的角度看整個程式，常常都是以&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;UI&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;為中心，&lt;/span&gt;&lt;span style="font-size: 13pt;font-size:100%;" &gt;所以程式的靈活度很低......&lt;a href="http://home.so-net.net.tw/joepasscheng/talking/ab_factory.html"&gt;Read More&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS. 我的網站改版了歐, 去&lt;a href="http://home.so-net.net.tw/joepasscheng"&gt;看看吧&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113472782994923239?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113472782994923239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113472782994923239&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113472782994923239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113472782994923239'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/12/abstract-factory.html' title='淺談Abstract factory'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113437608574416583</id><published>2005-12-12T16:13:00.000+08:00</published><updated>2005-12-12T16:31:26.550+08:00</updated><title type='text'>cat on TCP/IP</title><content type='html'>別誤會, 我沒有要賣貓&lt;br /&gt;習慣使用Unix-like command-line的朋友&lt;br /&gt;一定對於"cat"這個指令十分熟悉&lt;br /&gt;他可以把檔案的內容顯示在terminal中&lt;br /&gt;(device node也可以啦, 其實大概可以open與read的VFS都可以)&lt;br /&gt;但是如果我不想把結果放在本機端顯示&lt;br /&gt;而想要透過網路傳送到另一個machine呢?&lt;br /&gt;我想&lt;a href="http://netcat.sourceforge.net/"&gt;Gnu-netcat&lt;/a&gt;是你的好選擇&lt;br /&gt;&lt;br /&gt;簡單來說, 這個程式其實與cat沒兩樣&lt;br /&gt;只是他將結果傳送到網路罷了&lt;br /&gt;所以說, 你可以將本機上的一些資訊傳送到其他地方&lt;br /&gt;有啥用途呢?&lt;br /&gt;看你怎麼用吧....ㄏㄏ&lt;br /&gt;&lt;br /&gt;舉個簡單的例子: syslog&lt;br /&gt;雖然syslog可以用-R的方式將log message送到遠方的logserver&lt;br /&gt;但是如此一來本機將沒有log file&lt;br /&gt;利用本機端的cat或tail指令, 配合netcat可以構成一個簡單的solution&lt;br /&gt;另外, 如果兩邊都用cat來顯示與存入&lt;br /&gt;也是一個簡單到不行的"單次"ftp&lt;br /&gt;(傳完一個檔就結束呀...ㄏㄏ....好啦, 我知道有wget比較好用)&lt;br /&gt;甚至於例如在工廠中, 遠端可能使用一個embedded device或是laptop&lt;br /&gt;可以將一些serial port的資訊直接送到後端server&lt;br /&gt;(例如barcode scanner, GPS mouse, RFID reader, Card-reader....等等)&lt;br /&gt;運用上就看你的智慧了(或是PM的智慧....ㄏㄏ)&lt;br /&gt;Anyway...這是一個很棒的小程式&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113437608574416583?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113437608574416583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113437608574416583&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113437608574416583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113437608574416583'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/12/cat-on-tcpip.html' title='cat on TCP/IP'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113423435218429095</id><published>2005-12-11T00:56:00.000+08:00</published><updated>2005-12-11T01:05:52.200+08:00</updated><title type='text'>SQLite3的C++ wrapper</title><content type='html'>最近使用SQLite3來做一些自己的東西&lt;br /&gt;因為是使用C++當作程式語言&lt;br /&gt;所以找了一下網路上有沒有相關的project可以利用&lt;br /&gt;(建立sqlite3的database程式我用C語言解決)&lt;br /&gt;果然讓我找到一個(Open Source萬歲)&lt;br /&gt;&lt;a href="http://www.alhem.net/project/sqlite/"&gt;Sqlite Wrapped&lt;/a&gt;&lt;br /&gt;我在SQLite3中試過滿好用的&lt;br /&gt;可以用object的方式處理database又不用自己寫wrapper&lt;br /&gt;有在C++使用SQLite3的朋友可以試試&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113423435218429095?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113423435218429095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113423435218429095&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113423435218429095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113423435218429095'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/12/sqlite3c-wrapper.html' title='SQLite3的C++ wrapper'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113393028535877838</id><published>2005-12-07T12:30:00.000+08:00</published><updated>2005-12-07T12:38:05.383+08:00</updated><title type='text'>GNU screen</title><content type='html'>我的工作環境雖然大多已經在X window下運作&lt;br /&gt;但是依然有大量的時候必須使用CLI(command line interface)&lt;br /&gt;之前我最愛gnome-terminal&lt;br /&gt;因為可以開一堆tab window在同一個gnome-terminal之中&lt;br /&gt;但是有些時候當X不在執行的時候&lt;br /&gt;當然gnome的程式也無能為力&lt;br /&gt;&lt;br /&gt;後來看到GNU的screen這支程式&lt;br /&gt;真是愛死了&lt;br /&gt;他是一個讓你做到類似上面所述的功能&lt;br /&gt;甚至在沒有X可使用的情形下&lt;br /&gt;你可以開啟許多虛擬的screen執行不同的工作&lt;br /&gt;在各個screen中copy-paste文字&lt;br /&gt;支援unicode&lt;br /&gt;太好了, 這樣的工具喜歡用CLI工作的朋友怎能不試試&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113393028535877838?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113393028535877838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113393028535877838&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113393028535877838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113393028535877838'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/12/gnu-screen.html' title='GNU screen'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113385942459061674</id><published>2005-12-06T16:43:00.000+08:00</published><updated>2005-12-06T16:57:04.856+08:00</updated><title type='text'>簡介Cairo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/cairo.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/320/cairo.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;從一開始我發現Cairo這個drawing library後&lt;br /&gt;一直覺得一定要花時間好好研究一下&lt;br /&gt;因為他一定是一個明日之星&lt;br /&gt;看到Gtk+-2.8已經開始使用cairo當成backend&lt;br /&gt;越來越覺得可以思考一下他的利用&lt;br /&gt;&lt;br /&gt;最近試了一下gtk與cairo的整合部份&lt;br /&gt;其實gtk並沒有將cairo包裝起來&lt;br /&gt;而是你可以利用cairo的一樣寫法在gtk程式中&lt;br /&gt;&lt;br /&gt;舉例來說&lt;br /&gt;我使用一個drawingarea來示範&lt;br /&gt;&lt;br /&gt;   GtkWidget *target;&lt;br /&gt;   cairo_t *cr;&lt;br /&gt;&lt;br /&gt;   target = lookup_widget((GtkWidget *)button, "drawingarea1");&lt;br /&gt;   cr = gdk_cairo_create ((GtkWidget *)target-&gt;window);&lt;br /&gt;&lt;br /&gt;   cairo_move_to (cr, 10, 10);&lt;br /&gt;   cairo_line_to (cr, 150, 20);&lt;br /&gt;   cairo_rel_line_to (cr, -50, 100);&lt;br /&gt;   cairo_close_path (cr);&lt;br /&gt;&lt;br /&gt;   cairo_move_to(cr, 150, 100);&lt;br /&gt;   cairo_show_text (cr, "中文測試");&lt;br /&gt;&lt;br /&gt;   cairo_stroke (cr);&lt;br /&gt;&lt;br /&gt;   cairo_destroy (cr);&lt;br /&gt;&lt;br /&gt;(PS. gtk都是使用UTF-8編碼, 所以中文沒問題)&lt;br /&gt;這是一個簡單的glade所完成的gtk+程式(執行畫面如最上方圖)&lt;br /&gt;你可以看到除了得到cairo_t的部份外, 幾乎都是cairo原身的語法&lt;br /&gt;其實gtkmm似乎有在完成cairo的widget元件&lt;br /&gt;但是我其實還挺欣賞這種作法的&lt;br /&gt;&lt;br /&gt;gtkmm也可以直接使用cairo的function&lt;br /&gt;唯一差別只在取得cairo_t的方式&lt;br /&gt;對於GUI後端顯示技術與向量式繪圖有興趣的朋友&lt;br /&gt;不妨去看看cairo吧&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113385942459061674?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113385942459061674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113385942459061674&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113385942459061674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113385942459061674'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/12/cairo.html' title='簡介Cairo'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113326893534125881</id><published>2005-11-29T20:29:00.000+08:00</published><updated>2005-11-29T20:55:37.736+08:00</updated><title type='text'>GIS data for free or not?</title><content type='html'>最近看到一些車用資訊系統的消息&lt;br /&gt;似乎CarPC在台灣又開始熱了起來&lt;br /&gt;想到之前也曾經待過一間想玩這領域的公司&lt;br /&gt;那個時候也曾想自己寫寫一些東西玩玩(公司裡我不是負責導航地圖的)&lt;br /&gt;&lt;br /&gt;其實當時就有一個問題很令人困擾&lt;br /&gt;就是------地圖資料&lt;br /&gt;台灣並沒有把地理資訊當成公共財(國防安全??都有衛星照片了...ㄏㄏ)&lt;br /&gt;所以你如果想要弄個自己的open source map for taiwan&lt;br /&gt;你根本找不到data&lt;br /&gt;&lt;br /&gt;其實說找不到也不對&lt;br /&gt;因為在台灣有兩個地方可以找到(非產業界)&lt;br /&gt;一個是交通運輸研究所, 另一個是地政司&lt;br /&gt;先來說說運研所吧&lt;br /&gt;我是不知道運研所的定位是啥&lt;br /&gt;他的data可以提供較為好的交換檔格式(譬如shapefile)&lt;br /&gt;但是如果你想要運研所的這份資料&lt;br /&gt;你又剛剛好不是政府機關或學術單位(事實上學術單位也要錢...比較便宜而已)&lt;br /&gt;我想你大概要準備個5萬元吧&lt;br /&gt;想商業化....30萬&lt;br /&gt;或許沒錯, 對一間商業公司而言, 30萬台幣是小錢&lt;br /&gt;但是對open source的project而言&lt;br /&gt;30萬是不可能........300元可能有人會捐吧&lt;br /&gt;所以運研所的這份資料對於open source世界是太遙遠&lt;br /&gt;&lt;br /&gt;那地政司呢&lt;br /&gt;你可以自由下載使用&lt;br /&gt;但是他是AutoCAD R12的ascii dxf檔案格式&lt;br /&gt;也就是說, 他是一個可以讓你看看, 但是卻不是一個適合地理資訊使用的資料&lt;br /&gt;其最大的問題是&lt;br /&gt;他並不像shapefile這類的交換格式可以將空間資料與屬性資料對應&lt;br /&gt;最簡單的說法是&lt;br /&gt;他圖上的每一個字都是獨立標示顯示位置&lt;br /&gt;跟空間資料連接性不高&lt;br /&gt;我曾使用dxflib這類library將空間資料抓成較有關聯的binary format&lt;br /&gt;但是想到要將屬性資料填入......我就腿軟了&lt;br /&gt;&lt;br /&gt;因此雖然我覺得這個領域也挺有趣的&lt;br /&gt;但我還是只好先放著(好吧....主要原因是懶惰啦)&lt;br /&gt;期待台灣地政單位能有更open的思維來想想這個問題&lt;br /&gt;或許台灣的GIS會更蓬勃呢......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113326893534125881?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113326893534125881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113326893534125881&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113326893534125881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113326893534125881'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/11/gis-data-for-free-or-not.html' title='GIS data for free or not?'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113316363524768650</id><published>2005-11-28T15:36:00.000+08:00</published><updated>2005-11-28T15:40:35.266+08:00</updated><title type='text'>enlightenment DR17繁體中文</title><content type='html'>今天CVS了新DR17的code&lt;br /&gt;發現我的繁體中文po檔已經進去官方語言板了&lt;br /&gt;所以以後DR17正式板出來會有繁體中文介面啦&lt;br /&gt;不過似乎加入語系支援的地方做了一些修正&lt;br /&gt;反正不影響翻譯檔啦&lt;br /&gt;看來這是金鐘獎除了看蕭淑慎爆奶外另一個收穫&lt;br /&gt;ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113316363524768650?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113316363524768650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113316363524768650&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113316363524768650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113316363524768650'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/11/enlightenment-dr17.html' title='enlightenment DR17繁體中文'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113290186020798001</id><published>2005-11-25T14:51:00.000+08:00</published><updated>2005-11-25T14:57:40.226+08:00</updated><title type='text'>台灣的開放原碼競賽</title><content type='html'>最近從openfoundry的網站上看到&lt;a href="http://iosesc.openfoundry.org/"&gt;2006年的IOSECS&lt;/a&gt;&lt;br /&gt;主題為Automotive PC&lt;br /&gt;贊助商為MontaVista&lt;br /&gt;從之前Monta在台灣設立分公司來看&lt;br /&gt;難道Monta看好台灣的車用電腦市場&lt;br /&gt;看來想要用embedded linux開發車用資訊平台的朋友&lt;br /&gt;可以關注這事的後續&lt;br /&gt;也可以看看有哪些優秀的project&lt;br /&gt;&lt;br /&gt;但是除了獎金之外&lt;br /&gt;他的獎品....一套免費的MontaVista.....&lt;br /&gt;實在是不吸引人.....還是buildroot好用&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113290186020798001?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113290186020798001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113290186020798001&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113290186020798001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113290186020798001'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/11/blog-post_24.html' title='台灣的開放原碼競賽'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113273309118110209</id><published>2005-11-23T15:57:00.000+08:00</published><updated>2005-11-23T16:04:51.193+08:00</updated><title type='text'>很迷你的SSH daemon: Dropbear</title><content type='html'>最近工作上被告知要在我的arm embedded board上放入SSH daemon&lt;br /&gt;(雖然我覺得看起來意義不大....ㄏㄏ)&lt;br /&gt;試過了OpenSSH, 但是.....他實在太大了&lt;br /&gt;最後試了這個很小的ssh daemon: &lt;a href="http://matt.ucc.asn.au/dropbear/dropbear.html"&gt;Dropbear&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dropbear真的很小, 我使用static linking後的binary大小還不到200k&lt;br /&gt;(聽說還可以更小)&lt;br /&gt;所以讓我解決的這個問題&lt;br /&gt;有需要SSH在embedded linux的朋友可以試試&lt;br /&gt;&lt;br /&gt;另外uClibc的&lt;a href="http://buildroot.uclibc.org/"&gt;buildroot&lt;/a&gt;已經把dropbear加入&lt;br /&gt;想要一個很小的ssh server的朋友可以直接使用buildroot&lt;br /&gt;(至少換掉glibc就小很多了 ㄏㄏ)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113273309118110209?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113273309118110209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113273309118110209&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113273309118110209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113273309118110209'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/11/ssh-daemon-dropbear.html' title='很迷你的SSH daemon: Dropbear'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113219555611934696</id><published>2005-11-17T10:39:00.000+08:00</published><updated>2005-11-17T10:45:56.136+08:00</updated><title type='text'>enlightenment DR17 cht patch</title><content type='html'>&lt;span style="font-family: georgia;font-size:100%;" &gt;不知道何時DR17的CVS會加上我的po file&lt;br /&gt;所以我先將patch與po檔放在&lt;/span&gt;&lt;span style="font-family: arial;font-family:新細明體;font-size:100%;"  &gt;&lt;a href="http://www.openfoundry.org/"&gt;&lt;span style="font-family: georgia;"&gt;OpenFoundry&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;b&gt;有需要的可以用CVS下載(需要使用ssh)&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family:Bitstream Vera Serif, serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-family:新細明體;"&gt;cvs -d :ext:cvs@cvs.openfoundry.org:/cvs co &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;r17twpatch&lt;br /&gt;&lt;br /&gt;一個patch可以加入繁體中文介面支援&lt;br /&gt;另外, 如果覺得我翻的很爛&lt;br /&gt;自己拿po檔去改吧&lt;br /&gt;&lt;br /&gt;PS. 中研院的自由軟體鑄造場雖然不像SourceForge那麼有規模&lt;br /&gt;      但是因為是台灣自己的努力, 如果有朋友有興趣貢獻自由軟體&lt;br /&gt;      可以去註冊歐&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113219555611934696?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113219555611934696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113219555611934696&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113219555611934696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113219555611934696'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/11/enlightenment-dr17-cht-patch.html' title='enlightenment DR17 cht patch'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113204953477391202</id><published>2005-11-15T18:01:00.000+08:00</published><updated>2005-11-15T18:12:14.790+08:00</updated><title type='text'>userspace的filesystem</title><content type='html'>許多玩linux的朋友一定有一個矛盾&lt;br /&gt;不希望基本的系統被破壞最根本的方法是&lt;br /&gt;不要用root當成你的工作帳號&lt;br /&gt;但是許多時候一些與硬體有關的動作又非得需要root&lt;br /&gt;一直su大概也很煩吧.....ㄏㄏ&lt;br /&gt;&lt;br /&gt;現在有許多的solution都正處理這個問題&lt;br /&gt;其中關於filesystem的一個令人滿意的solution便是&lt;a href="http://fuse.sourceforge.net/"&gt;FUSE&lt;/a&gt;&lt;br /&gt;FUSE是Filesystem in Userspace的簡稱&lt;br /&gt;看名稱便知道他是將mount filesystem的動作在userspace完成&lt;br /&gt;這樣一來, 你可以不是root也可以去掛載filesystem&lt;br /&gt;我最常的應用是用&lt;a href="http://fuse.sourceforge.net/sshfs.html"&gt;sshfs&lt;/a&gt;&lt;br /&gt;他是FUSE的應用&lt;br /&gt;將一個ssh連上的使用者目錄掛在自己的目錄下&lt;br /&gt;我將大量的mp3音樂檔放在另一台server&lt;br /&gt;這樣一來, 我不用是root也可以享受網路磁碟的好處&lt;br /&gt;而且他還在ssh的加密安全保護之下&lt;br /&gt;很棒吧.........&lt;br /&gt;&lt;br /&gt;其他運用還有很多smb, upnp, bluetooth.....去看看吧&lt;br /&gt;說不定有你想要的&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113204953477391202?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113204953477391202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113204953477391202&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113204953477391202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113204953477391202'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/11/userspacefilesystem.html' title='userspace的filesystem'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113202659293204429</id><published>2005-11-15T11:27:00.000+08:00</published><updated>2005-11-15T11:49:52.943+08:00</updated><title type='text'>自由軟體十字軍</title><content type='html'>今天在NewsForge看到一篇文章&lt;a href="http://business.newsforge.com/article.pl?sid=05/11/04/1727259&amp;amp;from=rss"&gt;China's linux disease&lt;/a&gt;&lt;br /&gt;講到中國的linux在目前官方的層層保護下的問題&lt;br /&gt;很有趣的文章, 可以去看看&lt;br /&gt;&lt;br /&gt;這讓我想到上星期在台灣參加ICOS 2005時候&lt;br /&gt;許多人都希望台灣官方能像中國大陸一樣&lt;br /&gt;宣佈公家機關都不准用windows&lt;br /&gt;或許都是希望linux能在台灣壯大&lt;br /&gt;但是那天的情形讓我想到基督教的十字軍&lt;br /&gt;藉由自由之名卻成了一場屠殺&lt;br /&gt;&lt;br /&gt;我不是windows的愛好者(認識我的應該都同意吧...ㄏㄏ)&lt;br /&gt;但是我深信一件事----自由的權力就是選擇的自由, 包括選擇不自由&lt;br /&gt;所以如果你喜歡MS windows, 那很好&lt;br /&gt;如果你喜歡linux或Mac, 那也很好&lt;br /&gt;我只覺得應該讓大家自由選擇, 包括公家機關&lt;br /&gt;&lt;br /&gt;在ICOS我覺得大家一直想加強政府的力量&lt;br /&gt;但卻常常忽略自由社群的力量&lt;br /&gt;想想當初linux或是許多自由軟體計劃&lt;br /&gt;它們都不屬於任何一個國家的政府, 甚至不屬於任何一個個人&lt;br /&gt;這不是自由軟體最基本的精神嗎&lt;br /&gt;同樣的, 他也不強迫你來用&lt;br /&gt;你有需要的話, 自由去下載, 傳播, 修改, 使用&lt;br /&gt;但是重點是自由選擇&lt;br /&gt;也正因為這種特性讓自由軟體在全世界受到矚目&lt;br /&gt;那為何現在要改變這種自由&lt;br /&gt;&lt;br /&gt;其實我可以理解ICOS與會許多是商界人士&lt;br /&gt;當公家機關的需求出現時那個商機是很大的&lt;br /&gt;但是那無關自由軟體的事呀&lt;br /&gt;想想Microsoft要花那麼多的宣傳, 公關費用(當然還有贊助)&lt;br /&gt;努力宣傳windows的好(儘管我還是不認同windows的好...ㄏㄏ)&lt;br /&gt;但是那也應該是市場競爭的事&lt;br /&gt;一樣無關自由軟體&lt;br /&gt;&lt;br /&gt;我覺得應該是多元化的去"教育"&lt;br /&gt;我贊成教育體系應該有自由軟體&lt;br /&gt;但是就此不准MS windows&lt;br /&gt;我也不是那麼同意&lt;br /&gt;想想電腦教室內有windows, linux(Red Hat, Mandrake, SuSe....), Mac&lt;br /&gt;那不是很好嗎&lt;br /&gt;喜歡用那個去用那個(只是老師辛苦了點....ㄏㄏ)&lt;br /&gt;一個真正自由的環境是選擇的自由.....包括選擇不自由&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113202659293204429?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113202659293204429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113202659293204429&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113202659293204429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113202659293204429'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/11/blog-post.html' title='自由軟體十字軍'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113194675076328829</id><published>2005-11-14T13:33:00.000+08:00</published><updated>2005-11-14T13:39:10.776+08:00</updated><title type='text'>繁體中文enlightenment版本</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/309/693/1600/enlightenment.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/309/693/320/enlightenment.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;最近在看金鐘獎與金馬獎的時候&lt;br /&gt;閒閒的就順便把enlightenment DR17的繁體中文介面翻好&lt;br /&gt;放到我的R17看來沒啥問題&lt;br /&gt;已經mail給enlightenment的intl mail-list&lt;br /&gt;希望他們能加入zh_TW多語系支援&lt;br /&gt;原本R17有簡體中文支援&lt;br /&gt;身為台灣人的我....一定要為繁體中文加油的啦....ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113194675076328829?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113194675076328829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113194675076328829&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113194675076328829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113194675076328829'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/11/enlightenment.html' title='繁體中文enlightenment版本'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113113025337223417</id><published>2005-11-05T02:44:00.000+08:00</published><updated>2005-11-05T02:50:53.393+08:00</updated><title type='text'>讓windows也能使用ext2</title><content type='html'>很多人不知道其實windows有一個Installable File System的SDK&lt;br /&gt;IFS可以讓windows掛載其他格式的檔案系統&lt;br /&gt;雖然我幾乎99%的工作都在linux上&lt;br /&gt;但有時候還是必需到windows環境下工作&lt;br /&gt;(譬如使用金融軟體)&lt;br /&gt;這個時候一個可以利用linux檔案系統就十分好用&lt;br /&gt;(畢竟我大多數的檔案都在linux)&lt;br /&gt;&lt;a href="http://www.fs-driver.org/"&gt;"Ext2 Installable File System for Windows"&lt;/a&gt;&lt;br /&gt;這個project就幫了我許多忙&lt;br /&gt;有在兩個檔案格式中頭疼的朋友可以試試&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113113025337223417?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113113025337223417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113113025337223417&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113113025337223417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113113025337223417'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/11/windowsext2.html' title='讓windows也能使用ext2'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-113092525971155899</id><published>2005-11-02T17:46:00.000+08:00</published><updated>2005-11-02T17:54:19.723+08:00</updated><title type='text'>讓你的compiler互相支援: distcc</title><content type='html'>最近要將我的laptop重灌gentoo&lt;br /&gt;而且我又是那種喜歡從stage1開始慢慢compile的人&lt;br /&gt;(自找苦吃吧....但是我覺得在這些過程中也學到一些東西)&lt;br /&gt;看到我的laptop辛苦的compile所有程式&lt;br /&gt;突然想到.....讓我的PC幫他一下吧&lt;br /&gt;&lt;br /&gt;沒錯, &lt;a href="http://distcc.samba.org/"&gt;Distcc&lt;/a&gt;就是一個能讓你的gcc compiler互相幫助的玩意&lt;br /&gt;他可以將compiler的工作分出去給遠端的host來幫忙&lt;br /&gt;ㄏㄏ 這樣我的gentoo就不用compiler一整天啦&lt;br /&gt;(尤其是像Gnome.....等你等到我心痛.....想下班......)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-113092525971155899?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/113092525971155899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=113092525971155899&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113092525971155899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/113092525971155899'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/11/compiler-distcc.html' title='讓你的compiler互相支援: distcc'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-112982979170721518</id><published>2005-10-21T01:31:00.000+08:00</published><updated>2005-10-21T01:36:31.713+08:00</updated><title type='text'>輕型的database: SQLite</title><content type='html'>&lt;a href="http://www.sqlite.org/"&gt;SQLite&lt;/a&gt;是一個非常小型的資料庫系統&lt;br /&gt;很適合在embedded system上去使用&lt;br /&gt;加上他使用檔案的方式處理資料&lt;br /&gt;而不像MySQL這類的資料庫利用client-server的方式通訊&lt;br /&gt;因此速度也不錯&lt;br /&gt;也因此他也獲得2005年的Open Source Award&lt;br /&gt;有需要在embedded system中使用database的朋友可以試試&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-112982979170721518?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/112982979170721518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=112982979170721518&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112982979170721518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112982979170721518'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/10/database-sqlite.html' title='輕型的database: SQLite'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-112981062730559019</id><published>2005-10-20T20:11:00.000+08:00</published><updated>2005-10-20T20:17:07.313+08:00</updated><title type='text'>OpenEZX</title><content type='html'>smartphone越來越盛行&lt;br /&gt;而其中Motorola更是以linux為基礎來開發其手機平台&lt;br /&gt;在內部他們稱此平台為EZX&lt;br /&gt;想當然Motorola也不會Open Source啦&lt;br /&gt;但是沒關係.....一個新的project正在開始&lt;br /&gt;&lt;a href="http://open-ezx.org/index.html"&gt;OpenEZX&lt;/a&gt;這個project將要完成一個open source的EZX平台&lt;br /&gt;而且更要將kernel換成新的2.6&lt;br /&gt;對linux smartphone有興趣的朋友可以追蹤這個project&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-112981062730559019?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/112981062730559019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=112981062730559019&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112981062730559019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112981062730559019'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/10/openezx.html' title='OpenEZX'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-112970594954066066</id><published>2005-10-19T14:56:00.000+08:00</published><updated>2005-10-19T15:12:29.546+08:00</updated><title type='text'>美的令人窒息的桌面環境: enlightenment</title><content type='html'>今天試著把&lt;a href="http://enlightenment.org/"&gt;enlightenment&lt;/a&gt;的CVS版本DR17在我的gentoo上裝起來&lt;br /&gt;之前試過DR16, 並不覺得他很好&lt;br /&gt;但是這個傳說中很美麗的DR17, 真是讓人驚豔&lt;br /&gt;我並沒辦法裝上enlightenment的login程式entrance&lt;br /&gt;所以我還是使用GDM&lt;br /&gt;&lt;br /&gt;當DR17一啟動時, 就能讓我感動&lt;br /&gt;啟動程序為一美麗的動畫&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://enlightenment.org/Enlightenment/Screenshots/DR17_Screenshots/_images/e17-03_jpg_preview.jpeg"&gt;&lt;img style="cursor: pointer; width: 200px;" src="http://enlightenment.org/Enlightenment/Screenshots/DR17_Screenshots/_images/e17-03_jpg_preview.jpeg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;很美吧&lt;br /&gt;&lt;br /&gt;開始使用enlightenment的桌面環境&lt;br /&gt;你首先會被他的動作殘影效果所吸引&lt;br /&gt;很漂亮的移動殘影&lt;br /&gt;加上所有圖示都如同Mac一樣&lt;br /&gt;當你的mouse移到上方時, 會有視覺反應&lt;br /&gt;很漂亮&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://enlightenment.org/Enlightenment/Screenshots/DR17_User_Screenshots/_images/screenshot2_png_preview.jpeg"&gt;&lt;img style="cursor: pointer; width: 200px;" src="http://enlightenment.org/Enlightenment/Screenshots/DR17_User_Screenshots/_images/screenshot2_png_preview.jpeg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;目前他還是CVS版本, 我想等他release後&lt;br /&gt;可以考慮要不要轉移我的gnome....ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-112970594954066066?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/112970594954066066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=112970594954066066&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112970594954066066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112970594954066066'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/10/enlightenment.html' title='美的令人窒息的桌面環境: enlightenment'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-112925670424569629</id><published>2005-10-14T10:15:00.000+08:00</published><updated>2005-10-14T10:25:04.326+08:00</updated><title type='text'>IM的戰爭</title><content type='html'>最近即時通訊的戰況真是激烈&lt;br /&gt;隨著Microsoft與Yahoo在IM的結盟&lt;br /&gt;擺明是衝著google而來&lt;br /&gt;使用open standard(XMPP/Jabber)的google talk&lt;br /&gt;雖然目前仍然是IM的小老弟&lt;br /&gt;但是其企圖心卻很強烈&lt;br /&gt;最近google也找Gaim的主要開發者Sean Egan到google工作&lt;br /&gt;我看改天google talk就可以更完整的在linux上使用&lt;br /&gt;看來現在關鍵角色就是AOL了&lt;br /&gt;&lt;br /&gt;從近來Microsoft跟Google的大陸搶人大戰&lt;br /&gt;到最近的IM整合大車拼&lt;br /&gt;看來以後又可以拍一部電影&lt;br /&gt;就像以前講Steve Jobb與Bill Gates的那一部(忘了片名了)&lt;br /&gt;一定也很好玩&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-112925670424569629?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/112925670424569629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=112925670424569629&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112925670424569629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112925670424569629'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/10/im.html' title='IM的戰爭'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-112919749586964319</id><published>2005-10-13T17:44:00.000+08:00</published><updated>2005-10-13T17:58:15.893+08:00</updated><title type='text'>超酷的project: USB/IP</title><content type='html'>最近看到這個很好玩的project: &lt;a href="http://usbip.naist.jp"&gt;USB/IP&lt;/a&gt;&lt;br /&gt;來自日本的奈良先進技術學院&lt;br /&gt;他是把一台server的USB device透過網路分享出去&lt;br /&gt;client可以如同那個usb device是裝在本機上使用&lt;br /&gt;簡單來說, 就是server變成一個類似USB hub的功能&lt;br /&gt;只是一切的usb request都是透過網路&lt;br /&gt;client端也模擬一個VHCI的driver來與遠端溝通&lt;br /&gt;&lt;br /&gt;超好玩的, 我試過在遠端裝USB to serial以及webcam的裝置&lt;br /&gt;很有趣, 可以當成簡單的遠端數位監控....ㄏㄏ&lt;br /&gt;&lt;br /&gt;其實這類的project還有分享serial port的&lt;a href="http://ser2net.sourceforge.net/"&gt;ser2net&lt;/a&gt;&lt;br /&gt;也是類似的project(這類project比較常出現在工業控制的領域)&lt;br /&gt;&lt;br /&gt;想到之前我使用我的USB M-Audio interface接我的PMA-5時&lt;br /&gt;都覺得還要跑去接喇吧很麻煩&lt;br /&gt;以後弄台USB device share server&lt;br /&gt;就可以把這些玩意固定裝在喇叭旁了&lt;br /&gt;再弄個web cam.....ㄏㄏ&lt;br /&gt;想到就覺得有趣....想辦法生台舊PC來試試吧....ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-112919749586964319?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/112919749586964319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=112919749586964319&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112919749586964319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112919749586964319'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/10/project-usbip.html' title='超酷的project: USB/IP'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9488506.post-112862012216545755</id><published>2005-10-07T01:25:00.000+08:00</published><updated>2005-10-07T01:35:22.173+08:00</updated><title type='text'>跨平台程式的好選擇: mono</title><content type='html'>最近花了一點時間學習open source的.NET程式programming: &lt;a href="http://www.mono-project.com/Main_Page"&gt;mono&lt;/a&gt;&lt;br /&gt;利用mono + gtk-sharp + glade-sharp可以將程式分別在win32與linux上執行&lt;br /&gt;覺得還不錯, 改天多花點時間把C#學好吧&lt;br /&gt;換了一個環境還是需要花點時間&lt;br /&gt;例如今天在C中常用的memcpy就把我搞了很久&lt;br /&gt;後來才發現可以這樣&lt;br /&gt;ushort len;&lt;br /&gt;.........................&lt;br /&gt;byte[] z = new byte[2];&lt;br /&gt;z = BitConverter.GetBytes(len);&lt;br /&gt;Array.Copy(z, 0, buf, 1, 2);&lt;br /&gt;&lt;br /&gt;真是差很多, 不過看到相同的程式可以直接搬到win32還是挺高興的&lt;br /&gt;而且還是可以使用Gtk widget.....考慮換語言中.....ㄏㄏ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9488506-112862012216545755?l=samlinux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samlinux.blogspot.com/feeds/112862012216545755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9488506&amp;postID=112862012216545755&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112862012216545755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9488506/posts/default/112862012216545755'/><link rel='alternate' type='text/html' href='http://samlinux.blogspot.com/2005/10/mono.html' title='跨平台程式的好選擇: mono'/><author><name>sam</name><uri>http://www.blogger.com/profile/10942482885213586876</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://lh5.google.com/joepasscheng/RniwWUjroSI/AAAAAAAABss/VmEc1WI5Pbs/2-18.JPG'/></author><thr:total>0</thr:total></entry></feed>
