<?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-5661557580659195822</id><updated>2012-02-24T08:08:12.043-08:00</updated><category term='virtualbox'/><category term='nio'/><category term='jax-ws'/><title type='text'>Dragon Joke</title><subtitle type='html'>Dragon, Java and Joke</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-1268986875232729159</id><published>2010-08-14T08:14:00.000-07:00</published><updated>2010-08-14T08:21:26.711-07:00</updated><title type='text'>Android Usenet Reader version 1.15 is available in market</title><content type='html'>Please help to rank STAR and comment this app in market.&lt;br /&gt;&lt;br /&gt;Please send me email (kentsang77@gmail.com) or leave message here for any inquiry.&lt;br /&gt;&lt;br /&gt;Demo Video:&lt;br /&gt;Part 1: http://www.youtube.com/watch?v=R9Iac_rcjDc&lt;br /&gt;Part 2: http://www.youtube.com/watch?v=Owj2T-BI03o&lt;br /&gt;&lt;br /&gt;* Changes Log:&lt;br /&gt;&lt;br /&gt;Version  1.15 (2010-08-14)&lt;br /&gt;- Can press Volume Up / Volume Down button for next / prev thread&lt;br /&gt;- Can download the latest n full messages in group&lt;br /&gt;- Revise charset list in 'Server Option View'&lt;br /&gt;- Rewrite nntp client, use mime4j instead of old javamail for better performance&lt;br /&gt;- Remove two permissions: READ_PHONE_STATE and WRITE_EXTERNAL_STORAGE&lt;br /&gt;&lt;br /&gt;In next version, I will add more support for REAL offline reading. Let you config your synchronization settings of your subscribed group:&lt;br /&gt;&lt;br /&gt;(1) sync new headlines only&lt;br /&gt;(2) sync headlines only&lt;br /&gt;(3) sync new full messages only&lt;br /&gt;(4) sync full messages&lt;br /&gt;(5) sync full messages when wifi&lt;br /&gt;&lt;br /&gt;Ken&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-1268986875232729159?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/1268986875232729159/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=1268986875232729159' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/1268986875232729159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/1268986875232729159'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2010/08/android-usenet-reader-version-115-is.html' title='Android Usenet Reader version 1.15 is available in market'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-2194630773443136465</id><published>2010-07-27T07:06:00.000-07:00</published><updated>2010-07-27T07:09:42.529-07:00</updated><title type='text'>Android Usenet Reader version 1.14 is available in market</title><content type='html'>Please help to rank a STAR and comment this app in market.&lt;br /&gt;&lt;br /&gt;Please send me email or leave message here for any inquiry.&lt;br /&gt;&lt;br /&gt;Version  1.14 (2010-07-27)&lt;br /&gt;- Fix the problem of invalid charset encoding in footprints posting&lt;br /&gt;- Fix the problem of incorrect subject decoding&lt;br /&gt;- Fix the problem of no response when pressing 'Test' in Add Server View&lt;br /&gt;- Fix the problem of cannot 'Mark Thread as Read' in Headline View&lt;br /&gt;- Fix the problem of incorrect encoding of group name (news.newsfan.net)&lt;br /&gt;- Fix the problem of cannot filter non-ascii newsgroup name in Select Newsgroup View &lt;br /&gt;- Fix the problem of 'select never in delete old articles'&lt;br /&gt;- Fix the problem of missing delete attachment in 'Delete old articles'&lt;br /&gt;- Further fix the problem of incorrect orientation in CameraView with Android 2.2&lt;br /&gt;- Fine tune the performance of 'Mark Thread as Read / UnRead'&lt;br /&gt;- Fine tune the performance of 'Delete old articles'&lt;br /&gt;- Fine tune the performance of 'Delete all articles' / 'Reset group' of group&lt;br /&gt;- Fine tune article load speed&lt;br /&gt;- Change the data type of message date to integer instead of text for performance tuning&lt;br /&gt;- Change the resize scale of image uploaded and picture taken&lt;br /&gt;- Add 'More' menu&lt;br /&gt;- Add progress dialog for 'Reset Newsgroup', 'Delete Newsgroup' and 'Regenerate Index'&lt;br /&gt;- Add 'Delete all articles of all groups'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-2194630773443136465?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/2194630773443136465/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=2194630773443136465' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/2194630773443136465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/2194630773443136465'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2010/07/android-usenet-reader-version-114-is.html' title='Android Usenet Reader version 1.14 is available in market'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-5242871888133541825</id><published>2010-07-04T01:40:00.000-07:00</published><updated>2010-07-04T01:42:09.630-07:00</updated><title type='text'>Android Usenet Reader version 1.13 is available in Market</title><content type='html'>Android Usenet Reader version 1.13 is available in Market&lt;br /&gt;&lt;br /&gt;Please comment and rank a STAR in market.&lt;br /&gt;&lt;br /&gt;Demo:&lt;br /&gt;http://www.youtube.com/watch?v=R9Iac_rcjDc&amp;feature=player_embedded&lt;br /&gt;&lt;br /&gt;Version  1.13 (2010-07-04)&lt;br /&gt;- Add support for SSL&lt;br /&gt;- Add server option for setting usenet server port&lt;br /&gt;- Add server option for using SSL connection&lt;br /&gt;- Add About dialog&lt;br /&gt;- Fix the problem of incorrect orientation in CameraView with Android 2.2 &lt;br /&gt;- Fix the problem of not listing in market for Tattoo phone&lt;br /&gt;- Fine tune the performance of delete old article&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-5242871888133541825?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/5242871888133541825/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=5242871888133541825' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/5242871888133541825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/5242871888133541825'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2010/07/android-usenet-reader-version-113-is.html' title='Android Usenet Reader version 1.13 is available in Market'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-3315114673471647824</id><published>2010-06-01T22:57:00.001-07:00</published><updated>2010-06-01T22:59:12.714-07:00</updated><title type='text'>Android Usenet Reader version 1.11 is available on market</title><content type='html'>Android Usenet Reader version 1.11 is available on market&lt;br /&gt;&lt;br /&gt;  * Version 1.11 Fix the problem of incorrect image ordering&lt;br /&gt;  *              List preference by category (add list separators)&lt;br /&gt;  *              Add preference for not auto fetching headline when enter group&lt;br /&gt;  *              Add preference for deleting old articles&lt;br /&gt;  *              Delete preference for 'HTTP Compression'&lt;br /&gt;  *              Fix the problem of showing negative number in newsgroup view&lt;br /&gt;  *              Attach image file when new article&lt;br /&gt;  *              Load latest headlines first like Outlook express does&lt;br /&gt;  *              Add a view for showing message index bar of current group&lt;br /&gt;  *              Bulk fetching headlines of all subscribed groups&lt;br /&gt;  *              Fix the problem of not listing on market with Android 2.2 phone&lt;br /&gt;  *&lt;br /&gt;  * Version 1.10 Fix the problem of cannot list headlines if there are over 100 messages are deleted (at server) from the top&lt;br /&gt;  *              Fix the problem of cannot list headlines if latest number of group is less than Max_Fetch&lt;br /&gt;  *&lt;br /&gt;  * Version 1.9 Fix the problem of Force Close when changing orientation of phone&lt;br /&gt;  * &lt;br /&gt;  * Version 1.8 Add a reply_to&lt;reply_to_mail&gt; wrote: at the start of content when reply email&lt;br /&gt;  * &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Comming funtions and features in next release&lt;br /&gt;&lt;br /&gt;  * Can upload taken pciture with GRS data when posting article&lt;br /&gt;  * Bulk fetching full messages in thread&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-3315114673471647824?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/3315114673471647824/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=3315114673471647824' title='6 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/3315114673471647824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/3315114673471647824'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2010/06/android-usenet-reader-version-111-is.html' title='Android Usenet Reader version 1.11 is available on market'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-5466511523171189434</id><published>2010-03-24T09:57:00.001-07:00</published><updated>2010-03-24T09:58:33.087-07:00</updated><title type='text'>Android Usenet Reader (AUR) version 1.7 is available in market.</title><content type='html'>1. Please kindly help to test it.&lt;br /&gt;2. Please leave comment in market.&lt;br /&gt;3. Please rank a star for this app in market&lt;br /&gt;4. Report bug at http://dragonjoke.blogspot.com/2010/03/android-usenet-reader-v15-is-available.html&lt;br /&gt;&lt;br /&gt;Youtube demo:&lt;br /&gt;&lt;br /&gt;Part 1:&lt;br /&gt;http://www.youtube.com/watch?v=R9Iac_rcjDc&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/R9Iac_rcjDc&amp;hl=zh_TW&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/R9Iac_rcjDc&amp;hl=zh_TW&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Part 2:&lt;br /&gt;http://www.youtube.com/watch?v=Owj2T-BI03o&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Owj2T-BI03o&amp;hl=zh_TW&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Owj2T-BI03o&amp;hl=zh_TW&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please report bug here:&lt;br /&gt;http://dragonjoke.blogspot.com/2010/03/android-usenet-reader-v15-is-available.html&lt;br /&gt;&lt;br /&gt;Changes log:&lt;br /&gt;&lt;br /&gt;Version 1.6     Hot fix for the problem of missing article in thread list&lt;br /&gt;Version 1.7     Try to fix the problem of AUR is not listing in Tattoo&lt;br /&gt;                Fix the problem of cannot post article with manual-added server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-5466511523171189434?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/5466511523171189434/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=5466511523171189434' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/5466511523171189434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/5466511523171189434'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2010/03/android-usenet-reader-aur-version-17-is.html' title='Android Usenet Reader (AUR) version 1.7 is available in market.'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-1428232528273952255</id><published>2010-03-23T10:18:00.000-07:00</published><updated>2010-03-23T10:19:22.344-07:00</updated><title type='text'>Android Usenet Reader v1.5 is available in market</title><content type='html'>Android Usenet Reader v1.5 is available in market&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/R9Iac_rcjDc&amp;hl=zh_TW&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/R9Iac_rcjDc&amp;hl=zh_TW&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Owj2T-BI03o&amp;hl=zh_TW&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Owj2T-BI03o&amp;hl=zh_TW&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Version 1.5&lt;br /&gt;- Do not append "Re: " at the start of the reply title if the title already is start with "Re:"&lt;br /&gt;- Fix the problem of incorrect "Prev / Next Thread Index" in Article&lt;br /&gt;- Fix the problem of cannot list headline with group name have Upper Case chars (matrix.person.raycity-DIGITALZONE)&lt;br /&gt;- Add a Max number of headline list in "Setting" for loadling top n headline in list (temporary solution to slow load speed if cached large number of article (say &gt; 30000))&lt;br /&gt;- Change the password edit text as password dot text&lt;br /&gt;- Fix the problem of non-HK country phone cannot list / view message&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-1428232528273952255?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/1428232528273952255/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=1428232528273952255' title='34 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/1428232528273952255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/1428232528273952255'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2010/03/android-usenet-reader-v15-is-available.html' title='Android Usenet Reader v1.5 is available in market'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>34</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-6873765474175461932</id><published>2010-03-19T09:12:00.000-07:00</published><updated>2010-03-21T09:45:09.465-07:00</updated><title type='text'>Android Usenet Reader v1.4</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/R9Iac_rcjDc&amp;hl=zh_TW&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/R9Iac_rcjDc&amp;hl=zh_TW&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Owj2T-BI03o&amp;hl=zh_TW&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Owj2T-BI03o&amp;hl=zh_TW&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Usenet Android Reader v1.4 changes log:&lt;br /&gt;&lt;br /&gt;1. fine tune database indexing, browsing thread is very slow if total number of messages is greater than 20000. v1.4 improved it a lot.&lt;br /&gt;2. fix the problem of big5-scs problem (Unknow message show in article body) in android 1.6 or below.&lt;br /&gt;3. reset (or delete) server option when delete all messages of a usenet server.&lt;br /&gt;4. add thread browsing in tree-like view. Press 'menu' in article and press 'Thread'. Support jumping to particular message in thread.&lt;br /&gt;5. set the cursor to first position in content text field when replying a message&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-6873765474175461932?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/6873765474175461932/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=6873765474175461932' title='6 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/6873765474175461932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/6873765474175461932'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2010/03/android-usenet-reader-v14.html' title='Android Usenet Reader v1.4'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-630302593440226449</id><published>2010-03-10T17:03:00.000-08:00</published><updated>2010-03-10T17:06:42.243-08:00</updated><title type='text'>Android Usenet Reader in android market</title><content type='html'>uploaded to market! Please use keyword 'Usenet' to search.&lt;br /&gt;&lt;br /&gt;Or use QR code:&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__G_tv-xU4ww/S5hByNPSWhI/AAAAAAAAAAU/tYSNMy3NFR0/s1600-h/qr.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 135px; height: 135px;" src="http://1.bp.blogspot.com/__G_tv-xU4ww/S5hByNPSWhI/AAAAAAAAAAU/tYSNMy3NFR0/s320/qr.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5447176080107657746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please comment and report bug here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-630302593440226449?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/630302593440226449/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=630302593440226449' title='37 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/630302593440226449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/630302593440226449'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2010/03/android-usenet-reader_10.html' title='Android Usenet Reader in android market'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__G_tv-xU4ww/S5hByNPSWhI/AAAAAAAAAAU/tYSNMy3NFR0/s72-c/qr.png' height='72' width='72'/><thr:total>37</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-5911226638523338161</id><published>2010-03-09T17:21:00.001-08:00</published><updated>2010-03-09T17:21:57.332-08:00</updated><title type='text'>Android Usenet Reader Server List 最後召集</title><content type='html'>以下 Server 會加入 Android Usenet Reader 的預設 Server 清單中.&lt;br /&gt;預設清單裡的 server 可以無限 subscribe newsgroup&lt;br /&gt;非預設清單內的 server 只可以 subscribe 一個 newsgroup&lt;br /&gt;原意是想優惠本地 Server subscriber.&lt;br /&gt;&lt;br /&gt;如有其他本地 server 不在此列.&lt;br /&gt;請到這裡留言加入:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;news.3home.net&lt;br /&gt;news.checknews.net&lt;br /&gt;news.hkpcug.org&lt;br /&gt;news.hkux.net&lt;br /&gt;news.idsam.com&lt;br /&gt;news.iplus.hk&lt;br /&gt;news.newsgroup.la&lt;br /&gt;my.newsgroup.la&lt;br /&gt;free.newsgroup.la&lt;br /&gt;news.nntp.hk&lt;br /&gt;news.sporthk.net&lt;br /&gt;news.twonil.com.hk&lt;br /&gt;news.usenet.hk&lt;br /&gt;news.xddddd.com&lt;br /&gt;newsgroup.cc&lt;br /&gt;palmfaq.org&lt;br /&gt;wonderfuland.net&lt;br /&gt;wonderspace.net&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-5911226638523338161?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/5911226638523338161/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=5911226638523338161' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/5911226638523338161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/5911226638523338161'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2010/03/android-usenet-reader-server-list.html' title='Android Usenet Reader Server List 最後召集'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-1592611362015424502</id><published>2010-03-03T06:37:00.000-08:00</published><updated>2010-03-03T07:23:24.664-08:00</updated><title type='text'>Android Usenet Reader</title><content type='html'>Please leave me message if you have comment of my android apps.&lt;br&gt;&lt;br /&gt;Yes! It's not yet in market. Just a beta test...&lt;br&gt;&lt;br /&gt;&lt;a href="http://android.newsgroupstats.hk"&gt;http://android.newsgroupstats.hk&lt;/a&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__G_tv-xU4ww/S450hd5s_4I/AAAAAAAAAAM/600azD_PRuc/s1600-h/article_image_attachment.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="http://2.bp.blogspot.com/__G_tv-xU4ww/S450hd5s_4I/AAAAAAAAAAM/600azD_PRuc/s320/article_image_attachment.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444417117848665986" /&gt;&lt;/a&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/5661557580659195822-1592611362015424502?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/1592611362015424502/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=1592611362015424502' title='7 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/1592611362015424502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/1592611362015424502'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2010/03/android-usenet-reader.html' title='Android Usenet Reader'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__G_tv-xU4ww/S450hd5s_4I/AAAAAAAAAAM/600azD_PRuc/s72-c/article_image_attachment.png' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-3509527513277206538</id><published>2008-07-18T12:07:00.000-07:00</published><updated>2008-07-21T00:22:51.242-07:00</updated><title type='text'>Standalone JAX-WS is not ready for production</title><content type='html'>Further to the bug 'light weight http server connections leaks when calling invalid wsdl' &lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6712353"&gt;6712353&lt;/a&gt;, another problem we encountered is that the standalone jax-ws server doesn't work well when serving concurrent web service calls.&lt;br /&gt;&lt;br /&gt;I tried to perform a stress test by making concurrent web service calls, the standalone web service server will keep throwing javax.xml.stream.XMLStreamException.&lt;br /&gt;&lt;br /&gt;Is it a bug? Not sure. I will post it to java forum.&lt;br /&gt;&lt;br /&gt;If it's a bug. I think it may due to Sun's light weight http server.&lt;br /&gt;&lt;br /&gt;I did a very simple experiment:&lt;br /&gt;&lt;br /&gt;1. Create a simple web method:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;// Calculator.java&lt;br /&gt;package simplews;&lt;br /&gt;&lt;br /&gt;import javax.jws.WebMethod;&lt;br /&gt;import javax.jws.WebService;&lt;br /&gt;import javax.xml.ws.Endpoint;&lt;br /&gt;&lt;br /&gt;@WebService&lt;br /&gt;public class Calculator {&lt;br /&gt;&lt;br /&gt;    @WebMethod&lt;br /&gt;    public int add(int a, int b) {&lt;br /&gt;        return a + b;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Generate web service class by using apt:&lt;br /&gt;&lt;br /&gt;D:\&gt;c:\Program Files\java\jdk1.6.0_06\bin"\apt -d . src\simplews\Calculator.java&lt;br /&gt;warning: Annotation types without processors: [javax.xml.bind.annotation.XmlRootElement, javax.xml.bind.annotation.XmlAccessorType, javax.xml.bind.annotation.XmlType, javax.xml.bind.annotation.XmlElement]&lt;br /&gt;1 warning&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Create my endpoint:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:Georgia;"&gt;&lt;/span&gt;&lt;br /&gt;//Main.java&lt;br /&gt;package simplews;&lt;br /&gt;&lt;br /&gt;import java.util.concurrent.ArrayBlockingQueue;&lt;br /&gt;import java.util.concurrent.ThreadPoolExecutor;&lt;br /&gt;import java.util.concurrent.TimeUnit;&lt;br /&gt;import javax.xml.ws.Endpoint;&lt;br /&gt;&lt;br /&gt;public class Main {&lt;br /&gt;    private static ArrayBlockingQueue m_arrayBlockingQueue = null;&lt;br /&gt;    private static ThreadPoolExecutor m_executor = null;&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        // create and publish an endpoint&lt;br /&gt;        m_arrayBlockingQueue = new ArrayBlockingQueue(10000);&lt;br /&gt;        m_executor = new ThreadPoolExecutor(5, 50, 15L, TimeUnit.SECONDS, m_arrayBlockingQueue);&lt;br /&gt;        Calculator calculator = new Calculator();&lt;br /&gt;        Endpoint endpoint = Endpoint.publish("http://localhost:8080/calculator", calculator);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;4. Create my web service client:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;//Main.java&lt;br /&gt;public class Main {&lt;br /&gt;&lt;br /&gt;    private static int totalThread = 20;&lt;br /&gt;    private static int countPerThread = 1000;&lt;br /&gt;    private static long sleeptime = 1L;&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @param args the command line arguments&lt;br /&gt;     */&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        // TODO code application logic here&lt;br /&gt;        try {&lt;br /&gt;            totalThread = Integer.parseInt(args[0]);&lt;br /&gt;        } catch (Exception e) {&lt;br /&gt;        }&lt;br /&gt;        try {&lt;br /&gt;            countPerThread = Integer.parseInt(args[1]);&lt;br /&gt;        } catch (Exception e) {&lt;br /&gt;        }&lt;br /&gt;        try {&lt;br /&gt;            sleeptime = Long.parseLong(args[2]);&lt;br /&gt;        } catch (Exception e) {&lt;br /&gt;        }&lt;br /&gt;        for (int i = 0; i &lt; totalThread; i++) {&lt;br /&gt;            Runnable runnable = new Runnable() {&lt;br /&gt;                int count = countPerThread;&lt;br /&gt;                public void run() {&lt;br /&gt;                    while (--count &gt; 0) {&lt;br /&gt;                        try { // Call Web Service Operation&lt;br /&gt;                            simplews.CalculatorService service = new simplews.CalculatorService();&lt;br /&gt;                            simplews.Calculator port = service.getCalculatorPort();&lt;br /&gt;                            // TODO initialize WS operation arguments here&lt;br /&gt;                            int arg0 = 5;&lt;br /&gt;                            int arg1 = 6;&lt;br /&gt;                            // TODO process result here&lt;br /&gt;                            int result = port.add(arg0, arg1);&lt;br /&gt;                            System.out.println(Thread.currentThread().toString() + " | Result = " + result);&lt;br /&gt;                            Thread.sleep(sleeptime);&lt;br /&gt;                        } catch (Exception ex) {&lt;br /&gt;                            // TODO handle custom exceptions here&lt;br /&gt;                            ex.printStackTrace();&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            };&lt;br /&gt;            Thread thread = new Thread(runnable);&lt;br /&gt;            thread.start();&lt;br /&gt;&lt;br /&gt;            try {&lt;br /&gt;                Thread.sleep(sleeptime);&lt;br /&gt;            } catch (Exception e) {&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What I am doing here is to create certain number of threads and keep calling remote web method.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. Start server&lt;br /&gt;&lt;br /&gt;6. Start clients with 10 threads, 100 web service calls per thread and sleep = 1 millis.&lt;br /&gt;&lt;br /&gt;Server side will keep throwing:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;com.sun.xml.internal.ws.streaming.XMLStreamReaderException: XML reader error: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,2]&lt;br /&gt;Message: The markup in the document preceding the root element must be well-formed.&lt;br /&gt;        at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.wrapException(XMLStreamReaderUtil.java:242)&lt;br /&gt;        at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.next(XMLStreamReaderUtil.java:70)&lt;br /&gt;        at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.nextContent(XMLStreamReaderUtil.java:85)&lt;br /&gt;        at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.nextElementContent(XMLStreamReaderUtil.java:75)&lt;br /&gt;        at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:167)&lt;br /&gt;        at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:149)&lt;br /&gt;        at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:121)&lt;br /&gt;        at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:280)&lt;br /&gt;        at com.sun.xml.internal.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:207)&lt;br /&gt;        at com.sun.xml.internal.ws.transport.http.HttpAdapter.access$500(HttpAdapter.java:74)&lt;br /&gt;        at com.sun.xml.internal.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:363)&lt;br /&gt;        at com.sun.xml.internal.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:175)&lt;br /&gt;        at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:100)&lt;br /&gt;        at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:77)&lt;br /&gt;        at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65)&lt;br /&gt;        at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:65)&lt;br /&gt;        at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:68)&lt;br /&gt;        at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:552)&lt;br /&gt;        at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:65)&lt;br /&gt;        at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:524)&lt;br /&gt;        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)&lt;br /&gt;        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)&lt;br /&gt;        at java.lang.Thread.run(Thread.java:619)&lt;br /&gt;Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,2]&lt;br /&gt;Message: The markup in the document preceding the root element must be well-formed.&lt;br /&gt;        at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:588)&lt;br /&gt;        at com.sun.xml.internal.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:78)&lt;br /&gt;        at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.next(XMLStreamReaderUtil.java:51)&lt;br /&gt;        ... 21 more&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;At the same time, number of loopback connections (by Selector) at server&lt;br /&gt;side will be increased by one per exception! Those loopback connections cannot be released unless restarting application.&lt;br /&gt;&lt;br /&gt;The application will halt when the number of leaked connection rearch&lt;br /&gt;server limit (max filedispatcher).&lt;br /&gt;&lt;br /&gt;Bug &lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6712353"&gt;6712353&lt;/a&gt; is dispatched and pending for fix, I am not sure when the fix can be released.&lt;br /&gt;&lt;br /&gt;So, if you plan to use standalone jax-ws, make sure the bug is fixed otherwise you are in trouble. Currently one of our application in production is suffered and we have to detect number of leaked connections and trigger an auto-restart of the application in order to free those leaked connections.&lt;br /&gt;&lt;br /&gt;I attached my test code here (NetBeans Project):&lt;br /&gt;&lt;br /&gt;http://kentsang77.googlepages.com/SimpleWS.rar&lt;br /&gt;http://kentsang77.googlepages.com/SimpleWSClient.rar&lt;br /&gt;&lt;br /&gt;jdk version:&lt;br /&gt;&lt;br /&gt;java version "1.6.0_06"&lt;br /&gt;Java(TM) SE Runtime Environment (build 1.6.0_06-b02)&lt;br /&gt;Java HotSpot(TM) 64-Bit Server VM (build 10.0-b22, mixed mode)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-3509527513277206538?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/3509527513277206538/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=3509527513277206538' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/3509527513277206538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/3509527513277206538'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2008/07/standalone-jax-ws-is-not-ready-for.html' title='Standalone JAX-WS is not ready for production'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-2047472183568560526</id><published>2008-07-01T12:03:00.000-07:00</published><updated>2008-07-11T12:00:39.368-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualbox'/><title type='text'>VirtualBox</title><content type='html'>Recently, I start to play virtualization with my new toy, Intel Q9450 box. While searching information from the net, I found &lt;a href="http://www.virtualbox.org/"&gt;VirtualBox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Wow! It really an ultra light-weight virtualization software. I start to install some guest OS. &lt;strike&gt;FreeBSD&lt;/strike&gt;, Centos and Ubuntu. Some experience I want to share:&lt;br /&gt;&lt;br /&gt;1. It seems that VirtualBox(1.6.2) doesn't support 64bits guest OS. Even my VirtualBox is 64bits.&lt;br /&gt;2. Adding lan bridge to your guest OS require manually group your lan interface to bridge.&lt;br /&gt;3. Cloning guest OS require VirtualBox's cloning command line tool:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 204);font-family:courier new;" &gt;&lt;strong&gt;VBoxManage clonevdi centos5.2.vdi centos5.2-2.vid&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This command is okay if you save your Virtual Disk File in default location (C:\Documents and Settings\yourid\.VirtualBox\VDI).&lt;br /&gt;&lt;br /&gt;If you have save your virtual disk file in another place, you have to specify the full path (both input file name and output file name). E.g.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 204);font-family:courier new;" &gt;&lt;strong&gt;VBoxManage clonevdi d:\vbox\centos5.2.vdi d:\vbox\centos5.2-2.vid&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Otherwise you will got an error saying that Could not access hard disk image.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-2047472183568560526?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/2047472183568560526/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=2047472183568560526' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/2047472183568560526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/2047472183568560526'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2008/07/virtualbox.html' title='VirtualBox'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5661557580659195822.post-4776077446717095252</id><published>2008-06-05T06:13:00.000-07:00</published><updated>2008-06-05T11:10:51.834-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jax-ws'/><category scheme='http://www.blogger.com/atom/ns#' term='nio'/><title type='text'>JAX-WS loopback connections leak</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;I have a core java application with standalone jax-ws enabled. It's running very well at the beginning until I found there is a big bug in jdk build-in light weight http server.&lt;br /&gt;&lt;br /&gt;The server will create several loop back connections when the server startup. Whenever there is an invalid wsdl call, the standalone server will create a couple more of loop back connections.&lt;br /&gt;&lt;br /&gt;Please refer to my video illustrating the problem:&lt;br /&gt;&lt;br /&gt;&lt;object id="csSWF" codebase="http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0" height="309" width="400" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"&gt;&lt;param name="_cx" value="10583"&gt;&lt;param name="_cy" value="8176"&gt;&lt;param name="FlashVars" value=""&gt;&lt;param name="Movie" value="http://dragonken.googlepages.com/nio-loopback2.swf"&gt;&lt;param name="Src" value="http://dragonken.googlepages.com/nio-loopback2.swf"&gt;&lt;param name="WMode" value="Window"&gt;&lt;param name="Play" value="-1"&gt;&lt;param name="Loop" value="-1"&gt;&lt;param name="Quality" value="High"&gt;&lt;param name="SAlign" value=""&gt;&lt;param name="Menu" value="-1"&gt;&lt;param name="Base" value=""&gt;&lt;param name="AllowScriptAccess" value="always"&gt;&lt;param name="Scale" value="ShowAll"&gt;&lt;param name="DeviceFont" value="0"&gt;&lt;param name="EmbedMovie" value="0"&gt;&lt;param name="BGColor" value="1A1A1A"&gt;&lt;param name="SWRemote" value=""&gt;&lt;param name="MovieData" value=""&gt;&lt;param name="SeamlessTabbing" value="1"&gt;&lt;param name="Profile" value="0"&gt;&lt;param name="ProfileAddress" value=""&gt;&lt;param name="ProfilePort" value="0"&gt;&lt;param name="AllowNetworking" value="all"&gt;&lt;param name="AllowFullScreen" value="true"&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;embed name="csSWF" src="niio-loopback(2).swf" width="400" height="309" bgcolor="#1a1a1a" quality="best" allowscriptaccess="always" allowfullscreen="true" scale="showall" flashvars="autostart=false" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/embed&gt;&lt;br /&gt;            &lt;/object&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;flash link: &lt;a href="http://dragonken.googlepages.com/nio-loopback2.swf"&gt;http://dragonken.googlepages.com/nio-loopback2.swf&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I have report the issue (with the testing source code attached) to sun and post the problem to jax-ws forum:&lt;/p&gt;&lt;p&gt;&lt;a href="http://forums.java.net/jive/thread.jspa?threadID=41517&amp;amp;tstart=0"&gt;http://forums.java.net/jive/thread.jspa?threadID=41517&amp;amp;tstart=0&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5661557580659195822-4776077446717095252?l=dragonjoke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dragonjoke.blogspot.com/feeds/4776077446717095252/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5661557580659195822&amp;postID=4776077446717095252' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/4776077446717095252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5661557580659195822/posts/default/4776077446717095252'/><link rel='alternate' type='text/html' href='http://dragonjoke.blogspot.com/2008/06/jax-ws-loopback-connections-leak.html' title='JAX-WS loopback connections leak'/><author><name>DragonKen</name><uri>http://www.blogger.com/profile/16879004722533822293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
