Buy Reviews
Powered by MaxBlogPress  

Author Archive

Fat Jar Eclipse Plug-In

星期五, 九月 3rd, 2010點閱人數:0次

在伊莉看到有人在問這個外掛的用法,很好奇查了一下http://fjep.sourceforge.net/,原來這是一個Eclipse的外掛用來將Java的專案佈署成一個可執行的jar檔,這個外掛在Eclipse 3.4版的時候已整合到Eclipse了!

ㄚ琪在一些文章裡,也提到佈署的應用程式,像是免費的Java編譯器、組譯器跟Java Development Kits (JDK)傳播Python應用程式等都有提到,沒想到常用的Eclipse的匯出(Export)就有這個功能了,真是太cool!

稍微show一下圖解試作的情形!我將一隻使用jxl.jar來處理Excel的讀寫程式,試著做看看!

先在專案上按Export

2010-09-02_164834

選擇Runnable JAR file之後,定一些規格,ReadingExcel是我的java檔,MyExcel是我的project,text.jar事我要產生的測試檔!

2010-09-02_165038

2010-09-02_165100

好像有一些警告發生,我沒有理會,繼續按OK!

2010-09-02_165128

後來還是有警告,照樣不理會,按OK!

產生了一個test.jar,直接點擊就可以使用,太好了!

【團購美食】御家族-手工牛軋糖

星期五, 九月 3rd, 2010點閱人數:2次

網 上 賺 錢

【團購美食】御家族-手工牛軋糖

以純手工精製的牛軋糖,濃郁奶香搭配上酥脆杏仁果,香而不苦,清新爽口,
特製低糖配方,使牛軋糖不甜、不膩、不黏牙,軟硬適中且香濃有嚼勁,老少咸宜。

手工牛軋糖,堅持老師傅的傳統風味,不添加牛奶香精、色素及防腐劑,
保留最懷念的古早味,讓你吃得健康、也吃得安心。

這樣幸福的美味,不但是過年過節、訂婚喜慶,最具代表性的祝賀禮,
更是傳統上祭拜文昌帝君,為考生們祈求考試順利及第不可缺少的供品!

團購牛軋糖http://www.ace-88.com/acetw/Product/Detail.asp?ProdID=A203N12501&ClassSN=64

Set Color Number

星期四, 九月 2nd, 2010點閱人數:2次

在看過30天打造OS!作業系統自作入門(附光碟)的04-05 指標的應用(二)這節後,ㄚ琪要進展到04-06 設定顏色編號,http://community.osdev.info/?VGA這裡的視訊DA轉換器是本節會用到的資訊:

  • 0x03c6:ピクセルマスクレジスタ(8bit、R/W)
    • bit0-7:DAコンバータが受け取ったカラーコードは、このレジスタの内容でマスクされた後にRGBに変換され、ディスプレイに送られる。
  • 0x03c7:ステータスレジスタ (8bit、R)
    • bit0-1:これが00だったら書き込み中
    • bit2-7:リザーブ
  • 0x03c7:アドレスレジスタ (8bit、W)
    • ここに書き込みアクセスすると、パレット読み込みモードになる
    • bit0-7:パレット番号
  • 0x03c8:アドレスレジスタ (8bit、W)
    • ここに書き込みアクセスすると、パレット書き込みモードになる
    • bit0-7:パレット番号
  • 0x03c9:データレジスタ (8bit、R/W)
    • bit0-7:RGB成分の一つ(0~63)
      • 書き込むときは上位2ビットを0に、読み込むときは上位2bitを0と見なす
  • パレットのアクセスの手順
    • まず一連のアクセス中に割り込みなどが入らないようにする(たとえばCLI)。
    • 0x03c8に設定したいパレット番号を書き込み、続いて、R、G、Bの順に0x03c9に書き込む。もし次のパレットも続けて設定したいのなら、パレット番号の設定を省略して、さらにRGBの順に0x03c9に書き込んでよい。
    • 現在のパレット状態を読み出すときは、まず0x03c7にパレット番号を書き込んで、0x03c9を3回読み出す。これが順にR、G、Bになっている。これももし次のパレットも読み出したいときは、パレット番号の設定を省略してRGBの順に読み出してよい。
    • 最初にCLIした場合は、最後にSTIする。

貼上日文的自行參考,中文就自己買書來看吧!

接著04-07 矩形的繪製處理,透過用#define顏色的代碼,讓我們不用記那麼多的顏色代碼,其餘看程式怎麼做就行了!

04-08 最終的成果長這樣:

2010-09-02_160526

看到這個徒有沒覺得跟WX的畫面很像啊!原來自己DIY OS是這樣的喔!

java for GPS

星期四, 九月 2nd, 2010點閱人數:1次

今天在伊莉看到有人在求問可以讀取GPS接收器的訊號(NMEA)的JAVA程式,剛好看到陳鍾誠的網站上有一篇如何以 Java 取得衛星定位資訊 ?,我覺得重點是這個gps.zip,它包了javax.comm 這個不在標準 JDK 中的函式庫,你要先這樣安裝:

* 將 win32com.dll 檔案複製到 {JDK}\bin 的目錄下。
* 將 javax.comm.properties 檔案複製到 {JDK}\lib 的目錄下。

這樣編譯執行:

javac -classpath comm.jar;. Gps.java
java -classpath comm.jar;. Gps COM4

程式碼是這樣的:

import java.io.*;
import javax.comm.*;

public class Gps {
  public static void main( String[] args) throws Exception {
     receive(args[0]);    // 接收來自指定的 COM port 的衛星訊號。
  }

  // 以下是衛星接收的主要程式。
  public static void receive(String port) throws Exception {
    // 開啟 COM port (在 Java 中稱為 Serial Port)。
    SerialPort serialPort = ( SerialPort ) CommPortIdentifier.getPortIdentifier( port ).open( "GPS", 60 );
    // 設定接收參數,包含頻率為 4800bps, 8個資料位元後接著一個停止位元,沒有同位位元(parity bit)等。
    serialPort.setSerialPortParams( 4800, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE );
    // 將該 Serial Port 當成檔案一樣開啟,然後不斷讀取即可。
    BufferedReader in = new BufferedReader( new InputStreamReader(serialPort.getInputStream()) );
    while (true ) {
      String msg = in.readLine();
      System.out.println(msg);
    }
  }
}

太好用了,存起來一定會用到的!

Knowledge Gained by Measurement

星期四, 九月 2nd, 2010點閱人數:0次

在讀完程式設計領域的帕麥爾斯頓勳爵之後,ㄚ琪要繼續讀測量,可能有人覺得我在教會很機車,因為我常常要定洗禮人數的目標,不過這也不是我喜歡的,因為領袖有要求,所以我也不得不做,一旦定下這個目標,那可有很多事要做了,要做一些可測量的事來支持完成這個目標。但有時你又會很矛盾,屬靈的事物怎麼去測量,沒錯,所以一個方法就是把它轉換成屬是的測量方法,像是來幾次教會啊,這種可以測量的依據。

一直以來,ㄚ琪都在研究怎樣可以有更好的測量方法,相信這個在工程界,也是如此,因為有太多的品質問題還找不出來,而問題也是在測量的方法還沒進步到可以找出問題!

現在約耳來跟我說,如果把激勵跟測量搞在一起,震驚啊!昨天還在想QCC怎麼跟激勵搞在一塊說,看起來正應驗了一句話,『道高一尺,魔高一丈』,下面的員工絕對比你上面的主管還要聰明,這一點好像是不徵的事實了,所以像是『Amazon依據每小時接聽電話數量來考核客戶服務代表』,這種笨主意,以及『Jeff Weitzen入主Gateway,訂了一個節約客戶服務電話費用的新政策。「客服人員如果和一個客戶談超過13分鐘,就拿不到當月的獎金,」』這種會殺死客戶的餿主意,因為下面的員工太聰明了,你用的測量方法不對,死的就是公司還有高高在上的你了。

這種問題叫做測量機能障礙現象,來自Robert D. AustinMeasuring and Managing Performance in Organizations,原來這還有個專業術語。

『經理人喜歡施行測量系統,而且喜歡把它和獎懲方案綁在一起。不過只要沒有百分之百的監督,工作人員就有誘因來個「下有對策」,心裡只想著那個測量系統,完全不顧工作的實際價值或品質。』

像一些該死的執行長,領了那麼多的錢,還把公司給搞死了,ㄚ琪現在想到還是恨得牙癢癢的!

Viglink: Easier Way to Monetize Links On Your Blog

星期四, 九月 2nd, 2010點閱人數:0次

Viglink: Easier Way to Monetize Links On Your Blog這是我在Blogger Buzz看到的一個新的賺錢工具,我加入了並且用在Fun Taiwan上,試試看並瞭解賺錢有什麼幫助沒有!

仲秋餅飄香~舊振南手工月餅陪您度過每個團圓日!

星期三, 九月 1st, 2010點閱人數:9次

請看這餅!

這一塊Sophia所吃的是棗泥蛋黃月餅,看起來好好吃喔!

有棗泥的超正黑色搭配屏東鹹蛋的超豔黃色,再加上這個濃濃的黃色餅皮上寫上棗蛋,整個吃起來就是那麼地口感香醇,聽說這是用製餅師父手的揉勁及觸感做出來的純手工月餅,吃起來就是不一樣啊!這種廣式月餅哪裡吃得到?廣東嗎?不用!高雄嗎?雖說總店在高雄,但是ㄚ琪在高雄長大,就沒好好去認識這家店,真是太慚愧了!好了,這是題外話,現在的舊振南在台灣北中南三大都會區的百貨公司都買得到!

好了,我也趕快來吃一口我最愛的綠豆椪!有沒看到這個背景,我是專程來到這風光明媚的復興鄉霞雲村這裡來品嚐綠豆椪的!這種口感在野外吃起來就是不一樣的感覺!它的好吃程度讓人回味無窮啊!這好吃,嗯嗯嗯…香度夠說,在感冒鼻子不靈的情況下,還可以這樣說,那就真的當之無愧了,真是讓人懷念的味道啊!老闆什麼時候再給我一塊吃吃啊!

這個有個李白字的就是綠豆椪,為啥叫李白?我也不知!聽說也有蘇東坡的說,手上沒有,老闆求求你也給我其他的口味吃吃吧!

這個舊振南也很厲害,他們的禮盒被選為高雄十大特色伴手禮說,看起來得來獎項全不吹牛。這家店真的很堅持品質喔,只給客人好吃的東西,很好吃,如果在桃園有得買就好了,別白癡了,現在網路這麼方便,只要點聯結http://www.jzn.com.tw/index.php?f=home進去就可以買了,還怕什麼吃不到的,切!

我覺得這兩種手工月餅真的非常好吃,師父親手做的手工餅,應該在別的地方吃不到,真可以講說是老師傅的珍藏啊,我能夠有幸在中秋節前試吃,真是人生一大享受。

ㄚ琪一直是很重內在的傢伙,所以到現在都沒有提起它的包裝!

每個餅盒中其實還附有一包茶包,只可惜我不喝茶,所以就沒試了,不過我想舊振南的貼心也由此可見,怕吃太膩太油,所以讓你喝喝茶,解解膩,不過我相信,我吃得時候,一點都不覺油膩啊,哇,真的還假的!嗯,不清楚買來試就知道了!

DSC_4399

在中秋佳節即將來到,家人即將團聚在一起烤肉之餘,大口來個月餅吃吃,並且來個營火晚會,就著月光聊聊天,相信一定是超推薦的點心~~

Finally Begin to import C Language

星期三, 九月 1st, 2010點閱人數:5次

在看過30天打造OS!作業系統自作入門(附光碟)的03-08 邁向32位元模式前的準備工作這節後,ㄚ琪要進展到03-09 終於開始導入C語言,這一節主的一些指令一定要記起來,不然下週書還了,又不知要如何進行了。

首先使用cc1.exe由bootpack.c製作bootpack.gas。

然後使用gas2nask.exe由bootpack.gas製作bootpack.nas。

接著使用nask.exe由bootpack.nas製作bootpack.obj。

並且使用obj2bim.exe由bootpack.obj製作bootpack.bim。

最後使用bim2hrb.exe由bootpack.bim製作bootpack.hrb。

然後使用copy命令,將asmhead.bin與bootpack.hrb連結起來,就成了haribote.sys。

先試著紀錄這幾個部份,再繼續往下一章看!

在04-03向指標挑戰這裡,使用C語言的指標跟組合語言的關係,在宣告的部份:

char *p; /* BYTE用位址的情況 */

short *p;/* WORD用位址的情況 */

int *p;/* DWORD 用位址的情況 */

程式:

void HariMain(void)
{
int i; /* 変数宣言。iという変数は、32ビットの整数型 */
char *p; /* pという変数は、BYTE [...]用の番地 */

for (i = 0xa0000; i <= 0xaffff; i++) {

p = i; /* 番地を代入 */
*p = i & 0x0f;

/* これで write_mem8(i, i & 0x0f); の代わりになる */
}

for (;;) {
io_hlt();
}
}

用這個去make run的話,會發生

bootpack.c:10: warning: assignment makes pointer from integer without a cast

第10行p = i; /* 代入位址 */這是轉型的問題,只要做p = (char *) i;的修正就可以解決問題!

所以專欄二中,有個進階的寫法:

p =(char *)  i; /* 番地を代入 */
*p = i & 0x0f;

可以寫成:

*((char *) i) = i & 0x0f;

而這又跟組合語言的BYTE [i] = i & 0x0f;很像。

專欄3指標跟位址的說明很清楚,我就不重述紀錄了!

Knowledge Gained by Lord Palmerston on Programming

星期三, 九月 1st, 2010點閱人數:0次

在讀完抽象滲漏法則之後,ㄚ琪要繼續讀程式設計領域的帕麥爾斯頓勳爵,如果你讀過PETER NORTON’S PC程式設計經典,就能完全瞭解在IBM-PC上寫程式所需的全部知識,可惜,我沒讀過,而且現在要再找這一本書應該也很難找到。

『不過抽象滲漏法則表示,即使他們建立了這些理應讓程式更易設計的抽象機制,真正地精通某個程式設計領域需要好幾年的工夫』,這是毋庸置疑的,『有漏洞的抽象表示我們面對一個直線上升的學習曲線:你可以用一星期學到每天工作所需知識的90%。』這正是我現在的寫照啊,為了其餘的10%的學習,ㄚ琪還在努力摸索,可是要像約耳這樣學會所有的Windows家族的程式設計經驗值,我想我很容易就舉手投降吧,太多了,人生還能有幾個十年啊。

不過也正如約耳所說,如果因此而沒有通過面試,請不要生氣,這一點我倒是不會,不過可惜的SA已因如此離我而去。

像現在這種經濟不景氣的時候,如果還不趕緊精通的話,我想是很容易捲鋪蓋走路的,啥米,換做QCC吧!這可不好玩!對啊!如果再等到要你去現場做事,那就明擺著要叫你自動請辭了!真加在,還沒到這一地步!

雖然文中又有點要點起Windows跟Linux的筆戰意味,不過當我看到『只認識一個世界的人是很討人厭的。』這倒是很中肯,千萬不要只會一種技術,否則以後怎麼死的都不知道。裡頭有說人很蠢的部落格連結,既然蠢就不要多浪費力氣去連連看了。後來繼續看到Java的GUI、Mitch Kapor決定下一個計劃要做一個叫wxWindows和wxPython的產品,目標也是跨平台支援。哈哈,我的眼睛露出一到曙光,這些人怎跟我的想法一致啊,不不!是我的想法跟英雄一致。

『所以現在我會建議:至少要有一個對所用的語言、類別、API以及平台有數年以上經驗的設計者,否則還是不要啟動專案吧。如果你可以選擇平台,就用你的團體最熟悉的吧,即使這個平台並不是最符合趨勢或看起來最有生產力也沒關係。另外在設計抽象機制或程式設計工具時,多做些努力讓它不會漏吧。』真的那就讓我們對GTK再努力吧,多做些努力,因為我想那是我最熟的,努力加油吧!

Android Change TextView String Color

星期三, 九月 1st, 2010點閱人數:4次

今天終於可以看Google Android SDK 開發範例大全 2這本書的03-03的變更TextView文字顏色 – 引用Drawable顏色常數及背景色這節了,你可以在http://book.51cto.com/art/200907/140343.htm看到簡體版的文章!

這一節提到了幾個新的方法:

public View findViewById (int id),Finds a view that was identified by the id attribute from the XML that was processed in onCreate(Bundle). Returns The view if found or null otherwise.

一開始乍看之下,會覺得課本的TextView跟View很類似,你繼續查看View的連結可以知道TextView繼承自View,基本上從Java來看,貓繼承自動物,如果本來要傳回的動物型別的話,現在改成貓的型別,似乎應該是要有點問題才對,但是好像很多資料敘述好像都沒關係,那我們就繼續看看情形吧!

getBaseContext()是ContextWrapper的一個方法,它會傳回the base context as set by the constructor or setBaseContext,但是我查不到更詳盡的資訊,ContextWrapper大概是『Proxying implementation of Context that simply delegates all of its calls to another Context. Can be subclassed to modify behavior without changing the original Context.』。有些可能搞不太懂得就繼續放著吧,看看以後會不會比較懂。