跳到主要內容

發表文章

目前顯示的是 四月, 2006的文章

新酷音輸入法0.29出來了

新酷音輸入法0.29出來了。新酷音輸入法是類於 自然輸入法或是漢音輸入法這種所謂智慧型注音輸入法的工具。差別在於新酷音輸入法是Open source而且同時提供了Win32以及X-Window下面兩種版本。這對於我們這種專門用注音輸入法的人來說,無疑是一個非常棒的選擇。而且在選字 上面他的表現並不比自然輸入法差。如果還在用於愚蠢的新微軟注音輸入法的人,真應該趕快換這個輸入法來用用。

新酷音輸入法0.29下載

PyWinauto模組

今天注意到一個Python module叫做pywinauto。簡單的說,這個工具可以讓你透過寫Python script控制Windows視窗。例如:開啟程式,在指定的視窗中輸入文字,或是模擬滑鼠click等等。透過這個module我們可以用來進行一些程式的自動化測試。或是自動化的進行一些耗力費時的操作行為。

我自己安裝後,稍微試了幾個東西,像是開啟Notepad及小畫家等。都可以運作。不過有遇到中文的問題。原本,他的範例是在英文的Windows下面執行 的,所有有些動作像是FindWindow()時用的視窗標題文字他是用英文,但是我的作業系統則是中文。雖然還沒有進行測試,但是我想應該只要把程式的 部份改成中文應該就可以了。

有興趣的人可以到他的專案網頁看一 下。

中文Engadget網站

最近常在看中文Engadget網站。這個網站上面幾乎每天都 會介紹新奇好玩的科技玩意兒(我想這就是為何它叫Engadget吧)。對於新奇科技產品有興趣的人可以常常來看看到這個網站上面晃晃。聽 說這是比爾蓋茲每天必上網站的第二名(第一名是hotmail)。不知道的是真的還是假的!當然,比爾蓋茲上的是英文版的Engadget

May I hate you?

本週六到光華商場附近晃晃!在某間店門前見到了好笑的事情。有個日本客人跟店員支支嗚嗚的講了一些聽不太懂的東西(我猜可能是日文)。那個店員可能懂一點 英文吧,所以就有了下面的對話:

店員:『Can you speak English?』
日本客人:『...A little...』
店員:『May I hate you?』
日本客人 .....傻掉.......

看起來那個店員的英文發音不是很好,所以把help念成hate。那個日本客人就有點愣住了。我在旁邊一直想笑,後來離開了這間店後,跟旁邊的老婆講這件 事情。其實她也有聽到這段對話,但是她的腦袋自動將hate轉成help,所以當時沒有察覺。經過我提醒後,她已經快要笑到 orz 了。

在trac.turbogears.org上關於Widgets介紹

在turbogears.org的trac網站上新增了一篇關於TurboGears的Widgets 介紹。如果之前沒有看過TurboGears的朋友應該去看看目前的網頁技術可以做到甚麼程度。如果您之前只有看過TurboGears 0.84以前的版本,也來看看這篇介紹吧,瞭解一下0.9版加了哪些東西。

該死的專利

engadget網站上面看到一 則新聞。簡單的說就是英國有位發明家說他其實以前就發明了類似MP3隨身聽的概念,所以他現在要跟律師把這個概念的專利權討回來,亦即所有生產 MP3的廠商都要付他權利金。

專利權到現在已經變成阻礙人類進步的東西了。由於專利本身的界定很模糊,而且核准專利的組織又不具備該領域的專業知識。乃至於一些觀念稍微整理一下就被拿 來申請專利。很多公司已經變成為了申請專利而申請專利。並不是因為該專利本身有多大的創新或是技術深度。之前也有新聞報導過一些可笑的專利。重點在於,這 些將專利當成獲利工具或是當成商場上得防衛工具的公司,隨隨便便就把一個idea弄成一個專利,然後那些審查專利的組織又甚麼都不懂,他們只會看這個專利 是不是之前有類似的申請案。這些idea很多都是隨著時間演進,大家就會想出來的。既然大家都靠自己就想的出來,憑什麼變成專利呢?以上面這個例子來說 吧。當你知道音樂不只可以用CD聽,也可以變成音樂檔案放在電腦上聽。你就會開始想像如果這些檔案可以放到你的隨身碟上面,然後有個耳機連出來,想辦法將 這些檔案播放出來。這樣就是個MP3 player的概念了。其實,大家都可以想得到這樣的idea,而且當技術進步到一個階段時,自然就會有人實作出來。

既然這樣,憑什麼有人可以把這樣的idea據為己有呢?類似狀況的專利還有很多。我突發奇想的覺得,以後的專利申請應該要先能證明這個idea只有你想的 出來,別人無法想的出來。這當然是專利權裡面所講的獨創性,但是我覺得那些專利管理局的根本壓根不管!

FireFox的市佔率有突破

最近看到幾個市場調查的新聞,像是Net Applications及OneStat等等,皆在2006四月初報導了關於FireFox市佔率突破10%的消息。許多的市場分析師在去年或甚至是前年就曾經預測10%會是FireFox的一個重要指標。現在就要看後續的發展了!我個人認為目前有幾個因素會影響後續的演變。第一個是Windows Vista的推出。如果,Vista真的吸引了許多使用者,那麼FireFox的市佔率可能會稍稍下滑。另外一個是FireFox本身新功能的提出。若 FireFox本身能夠提出更多好用的新功能,那麼應當可以穩定持續的搶下市站率。最後是IE自己的Bug。如果IE每次發現一個大Bug,尤其是安全相關的,都會讓一些使用者想要換著使用FireFox。至於FireFox會增加甚麼新功能呢?我想針對P2P或是Internet Message的功能應該會越來越受使用者喜愛吧。

MoGo藍芽滑鼠

今天在報上看到一個新的產品Mogo MouseBT。像我們這種常常使用筆記型電腦的人來 說,滑鼠始終是一個討厭的問題。先說說TouchPad吧。這個東西還真不是人用的,偶而用用無妨,常常用的話,實在覺得不是很方便。手指常常戳了好多遍才把游標移到想要的地方。但是,要自備滑鼠的話也是很麻煩。滑鼠都有一定的高度,所以收納非常不方便。現在,終於有公司做出這種超薄滑鼠的產品 了,而且還是無線的。只是不知道用起來的手感如何呢?還有價位也不太清楚!以下是Mogo Mouse的Feature list:

生產公司:Newton Peripherals傳輸介面:Bluetooth大小:名片大小,與PCMCIA card相同大小。電源:內建充電電池,可插於PCMCIA槽中充電。使用:具有一個傾斜度的腳架,可以讓Mogo有個傾斜度,這樣會比較好用。 他的data sheet在這裡

截至2006/04/19的Hardware精華文章!

硬體相關的文章 PIC 指令集列表PIC指令集列表Verilog 快速參考筆記本文主要記載本人學習Verilog過程中的一些參考用筆記。Verilog 模擬階段分析對於學習Verilog的人而言,切確的瞭解在一個單位時間內Simulator進行了哪些工作是十分重要的。本文針對這個 議題做了一個簡單的列表。Verilog Code Style本文主要是收集一些重要的Verilog coding style。一個好的coding style可以減少錯誤的發生,增加電路的效能,以及較好的可讀性。Finite State Machine(FSM)FSM依據與輸入訊號的關係可分為兩種:Mealy與Moore。其中Mealy與輸入訊號有直接關係,Moore則無。Verilog 資源列表本文主要列出一些網路上面的Verilog資源。一 個以組合邏輯判斷edge的verilog code.通常在verilog中我們都是使用posedge或negedge的方式判斷組合邏輯。網路上有人在問如何用純組合邏輯來 判斷edge。我嘗試寫了這樣的一個solution。有興趣的人可以看看!在Verilog 中如何避免implicit wire type. 通常如果沒有指定某個net的type的話,Verilog會預設給予wire的型態。看起來很方便,其實常會導致 designer忽略掉一些錯誤。透過Verilog-2001的一些設定我們可以避免發生這種情況。

截至2006/04/19的System精華文章!

各種系統的介紹,技巧都在這裡。 Windows Kernel的IRQL運作機制IRQL與CPU rings/thread/priority/hardware IRQ的關係.將Man page轉成PostScript檔案將man page轉成PostScript格式。vnc2swf 介紹有些時候,我們常常會需要撰寫一些文件來教別人如何使用某個軟體,或是系統的某個功能。指 定程式在Windows開機時自動執行除了加在啟動功能表中,有什麼辦法可以讓系統啟動時自動執行呢?如 何讓Windows自動登入(Auto-logon)? 當在一台Windows電腦上面有多個帳號時,也許您還是會想要指定一個帳號,在一開機的時候就能夠自動登入。關 於Control命令在Windows的命令列模式下有個非常好用的命令叫做Control。這個命令其實就是控制『控制台』的一個介面。你可以 用這個命令直接叫起一些平常要找很久才會找到的視窗。切 換輸入法為Xcin安裝完Fedora Core 2之後,預設的輸入法是IIIMF,不過這個輸入法似乎不是想像中的那麼好用。對於用慣XCIN的人來說,還是希望能夠回到XCIN。如 何製作Windows下的Help(.hlp)檔案在Windows 系統下,線上說明主要有兩種格式,一種是舊的.hlp的檔案。這種檔案主要是透過編輯RTF格式的檔案來製作說明。另外一種較新的方式是.chm檔案。這 種檔案是透過編輯HTML格式檔案的方式來製作說明。目前比較新的檔案都是使用.chm的檔案來製作說明。不過在某些環境下.hlp檔案仍然有其作用。所 以本文要以一個快速導覽的方式來說明如何製作出.hlp檔案。用OpenSSL 製作數位憑證用Openssl製作數位憑證的方式很簡單,首先確定您的電腦有安裝openssl。如果沒有,可先至下面的網站取得: www.openssl.org。自 製簡易的安裝程式在Windows 中,安裝或者反安裝軟體一般的是透過『新增或移除程式』的功能。一般常常以為這樣的軟體安裝功能,透過InstallShield或是MSI這類的軟體包 裝程式才能夠達成。的確,透過這些軟體是最快的。不過,商用的軟體安裝程式都很貴。雖然也有很棒的免費軟體像是InnoSetup等。不過對於沒有相關經 驗的人來說似乎還要先去學這些東西的用法。壓 縮執行檔的軟體UPX有些時候我…

截至2006/04/19的Programming精華文章!

程式設計類,且不屬於已經分類的程式語言的文章。 簡 介DoxygenDoxygen是一個程式的文件產生工具,可將程式中的特定註解轉換成為說明文件。何 謂電腦高手何 謂電腦高手? 最近逛了Language版,又看到了一個從很久以前就提出來的老問題-- 很會寫程式是否就是代表電腦很厲害? 如果你常常逛Language這個版,你一定會覺得奇怪,為什麼這個問題會一再的被提出來。我想或許大家只認識什麼是電腦,卻沒有對資訊工程這門學問有足 夠的認識吧。 讓 你的AP上的元件變成XP的Style有些原先開發在非Windows XP上的軟體的元件不會呈現新的Windows XP的style。其實,只要這個軟體所採用的是標準元件。透過一個簡單的小技巧,我們就可以讓他馬上變成XP的Style。make 的簡易介紹make幾乎是個程式設計師每天都會接觸到的工具。這個工具主要的精神在於幫助程式設計師只編譯需要編譯的程式碼。如此一來 可以減少編譯程式所需要的時間。Open-Closed Principle簡介『Open-Closed Principle』(簡稱OCP)在物件導向程式設計中是一項非常重要的指導原則。有些人甚至在討論物件導向時,將這個原則比擬為牛頓力學中的三項基本 定理。可見其重要性。換句話說,如果您在寫C++ 或是Java這類的物件導向程式語言,卻不曉得何謂OCP 。恐怕寫出來的程式只有物件導向的表象而為能得精髓。 軟 體的版本號碼實際上並沒有一個特別的規定告訴我們要怎麼來制訂軟體的版本號碼。不過大家倒是有一些約定成俗的看法。SDL 的小簡介SDL 是Simple DirectMedia Layer的縮寫。這是一個跨平台的圖形及多媒體的程式庫。他所提供的有影像,音效,光碟機等等的控制。經常被用來當作遊戲開發的環境。不過,其實他也非 常適合拿來開發一些多媒體的應用。甚至是應用在嵌入式系統中,如SetTop Box的環境中。Big5 碼中容易衝碼的文字Big5中由於當初設計上的疏失,導致一些屬於控制字元的資料容易引起一些程式環境的誤判。造成顯示出來的中文字不是我們想 要的結果。所以我們在寫程式的時候對於中文的處理要特別小心。Emacs C mode指令速查列表本 文件列出了在Emacs C mode下面常見的指令及所謂的C mode就是在Emacs下面撰寫C語言程式的模式。在這個模…

截至2006/04/19的C/C++精華文章!

所有有關於C/C++語言的文章都在這裡。 在BCB 中的多國語言程式製作說明在BCB中如何撰寫多國語言程式。 一 個類似Popen的C++類別附件的程式是一個C++的類別,專門供Win32平台下面使用類似popen的功能。可以透過他來執行其他命令,並且存取該 程序的stdin, stdout, stderr等pipe資料。也可以將console視窗隱藏,或者透過method將程序結束。 BCB 中的RTTI機制RTTI 在BCB中其實有兩個意義。首先,針對一般標準的C++中所定義的,RTTI是所謂的Run-Time Type Identification的縮寫。傳統的程式語言中,所謂的資料型態僅在Compile-Time有所作用。舉例而言,您宣告了一個變數a,並且指定 其型態為整數。您如何在Run-Time期間知道他的型態是整數呢?很遺憾的是,在原來的C/C++中您是無法知道這樣的事情的。或陰z會問,這樣的資訊 有何作用?若是您考慮物件的繼承關係,您就會發現其重要性了。 如 何產生shared object(.so)檔案如何產生shared object(.so)檔案? 在BCB 中使用StringTable通 常寫軟體時,如果剛開始的時候沒有注意到將來要考慮i18n的問題時。到後面要補救就會變的工程浩大。不過,如果您的軟體是使用BCB Enterprise Edition所開發時,那麼這個步驟將會變得簡單一些。不過,前提是你必需使用Enterprise Edition才行。因為只有 ExterpriseEdition上面才有Translation Manager可用。 Microsoft Visual C++ Toolkit 2003Microsoft Visual C++ Toolkit 2003是一套給C++使用的Compiler及Linker的程式。主要的目的是要給那些需要編譯出Windows環境下程式的使用者使用。 解 決PopupMenu在TTrayIcon上使用的問題如果你有在BCB中使用TTrayIcon來製作TrayIcon的弁遄A你一定會覺得在BCB下面寫TrayIcon真是 輕鬆又簡單。不過當你想再加上PopupMenu時,事情似乎就不是那麼盡如人意了。 BCB 下的簡易萬用字元檢查許多時候,我…

截至2006/04/19的Tcl/Tk精華文章

TCL/TK相關的文章都放在這裡。 Tcl 命令列模式的使用Tcl 本身可以分為兩大模式,一個為命令列模式,另一模式則為Script模式。所謂的命令列模式就如同DOS的Console及一般UNIX系統下登錄後所使 用的命令模式。在這個模式下,Tcl與使用者間具有較高的互動性。使用者所下的每個命令,不論是語法上的錯誤,或是執行上的錯誤,都可立即得到回應。因 此,這個模式也十分合適作為除錯之用途。至於,Script模式則是Tcl的精華所在。AOL Server簡介在Tcl 的討論區上貼了一篇簡介Tcllib的文章,有網友建議我寫寫Tcllib的使用心得。可是覺得光是寫寫Tcllib本身的應用好像不是很有意思, Tcllib本身有提供一些Mime的相關函式,相當的好用,但是光是說明這些函式的使用,也不是很有意思。剛好,之前想用Tcl來寫個WebMail的 程式,便想利用這個程式來說明Tcllib的一些弁遄C而使用Tcl來寫Web程式最佳的方法就是在AOL Server上面開發,所以便決定先寫篇文章來介紹一下AOL Server,然後再來進行Tcllib的使用心得。這正是這篇文章誕生的緣由!Tcl 的變數命名與置換規則在Tcl 之中,並沒有一般程式語言的變數型態。這也就是說,Tcl不會要求您要事先指定您的變數需要為整數,字串,或是浮點數等型態。這是大部份Script的優 勢,它大大地簡化了Script語言的學習難度。並且,Tcl的變數具有很大的彈性。關於這個部分將會在後面關於Tcl變數的章節中做更詳細的探討。本文 將著重於變數置換(variable substitute)的應用說明。Tcl 命令置換規則除了變數置換外,Tcl也提供了直接敘述的某個部分代換成某個命令的結果。Tcl 的雙引號與大括號置換規則本文所要說明的是在雙引號及大刮號內,所允許的置換規則。Tcl 的語法總結綜觀整個Tcl的語法,其實可以歸納成簡單的一些要點。如能熟記這些要點,對於撰寫Tcl程式將會無往不利。Tcl 的變數介紹在前面的文章中,我們已經簡略地介紹Tcl的變數置換規則。本文我們將以更深入的角度來介紹Tcl的變數機制。Tcl 的直述式流程所謂的直述式流程,其實也就是所有程式語言的基本。

截至2006/04/19的Python精華文章!

Python相關的技術文章。 測 試某個Python變數是否存在假設我們要在Python下面檢查變數a是否存在?要如何作呢?py2exe 簡介py2exe 是一個工具程式,可以將python程式轉換成為單一的執行檔案。在某些情況下使用者也許不想安裝整個python套件或是相關的檔案。透過py2exe 可以將您的工具包裝成單一的執行檔,及數個相關檔案。使用者只要下載這幾個檔案就可以執行該程式了。因為py2exe會自動將該工具的或自動搜尋您的 python程式中所有用到的模組及檔案加以集中包裝至這數個檔案中。Pygame 的小簡介Pygame不是一個遊戲,它是一個遊戲的開發環境。用 來處理INI檔的Python程式用來處理INI檔案的Python範例。如 何實現wxPython下的檔案拖放在視窗系統的環境下,我們常常希望讓使用者能夠直接將一個或數個檔案拖拉至我們的程式中,就可以編輯或是處理這個檔案。透 過Microsoft Speech SDK及Python寫一個簡單的文字發音程式有時候也許您想要找一個可以將文字直接透過電腦的Speaker唸出來的程式。也許有時您會想要上網去找一些所謂 Text2Speech的程式。其實,自己寫一個Speech程式並沒有想像中的那麼困難。只要您用對適當的語音程式庫即可。指 定Python程式碼的charset encoding雖然Python是支援Unicode,可是釵h時候,還是需要能夠指定source code的charset已便Python直譯器能夠正確的處理。這個時候你可以透過指定一個特別的註解來要求Python直譯器使用特定的 charset來處理程式碼。 透 過Microsoft Speech SDK及Python寫一個簡單的文字發音程式(加強版)有時候也許您想要找一個可以將文字直接透過電腦的Speaker唸出來的程式。也許有時您會想要上網去找一些所謂 Text2Speech的程式。其實,自己寫一個Speech程式並沒有想像中的那麼困難。只要您用對適當的語音程式庫即可。img2py 的用法img2py.py是一個很方便的工具,可以讓您將圖形轉換成PNG格式並且將其嵌入至指定的Python模組中。同時賦予 適當的程式代碼,使其得以在其他程式中動態的載入這些圖形。Windows 系統熱鍵擷取的Python程式範例這是一個系統熱鍵…