<?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-22171124</id><updated>2011-11-27T20:10:06.576-05:00</updated><category term='J2ME'/><category term='virtualization'/><category term='Vista'/><category term='Dow Jones'/><category term='Microsoft'/><category term='Blu-ray'/><category term='funny'/><category term='mule'/><category term='Sentilla'/><category term='WebKit'/><category term='Apple'/><category term='application'/><category term='JavaOne'/><category term='Ship'/><category term='GUI'/><category term='Swing'/><category term='Bahamas'/><category term='Travel'/><category term='ejb3'/><category term='spring'/><category term='Royal Caribbean'/><category term='Safari'/><category term='Mac OS X'/><category term='traditional chinese 正體字 簡化字'/><category term='jee'/><category term='Android'/><category term='2008'/><category term='Guice'/><category term='Kingston'/><category term='Mobile'/><category term='dependency injection'/><category term='music'/><category term='multi-core'/><category term='Java'/><category term='NetBeans'/><category term='Google'/><category term='JavaFX'/><category term='movie'/><category term='Maps'/><category term='Firefox'/><category term='iPhone'/><category term='desktop'/><category term='San Francisco'/><category term='dual core virtualization'/><category term='Eclipse'/><category term='Livescribe'/><category term='Michael Jackson'/><category term='j2ee'/><category term='Jamaica'/><category term='iPhone Google'/><category term='Books'/><title type='text'>資料搬運工</title><subtitle type='html'>嗡嗡嗡 搬到西 搬到東</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default?start-index=101&amp;max-results=100'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>138</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-22171124.post-1870567995981429279</id><published>2011-07-26T22:10:00.002-05:00</published><updated>2011-07-26T22:15:04.726-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jee'/><title type='text'>JSR-330: Google Guice is official</title><content type='html'>JSR-330 is now part of JEE 6 standard. Finally there is a standard way to use dependency injection with annotation. I hope one day they will bring JSR-330 into regular Java. Dependency injection is not only useful for enterprise application. Due to it's lightweight, Guice is a even better choice for desktop dependency injection than other dependency injection framework.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-1870567995981429279?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/1870567995981429279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=1870567995981429279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1870567995981429279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1870567995981429279'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2011/07/jsr-330-google-guice-is-official.html' title='JSR-330: Google Guice is official'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-3142814322567775110</id><published>2011-01-16T08:14:00.003-05:00</published><updated>2011-01-16T08:16:10.820-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Java Posse is talking about Apple in every episode</title><content type='html'>I guess the Java community is truly collapsing. Java Posse, the Java podcast that I listen for years, has serious debate about Apple's direction in every episode. Come on, that company don't even care about Java.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-3142814322567775110?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/3142814322567775110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=3142814322567775110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3142814322567775110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3142814322567775110'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2011/01/java-posse-is-talking-about-apple-in.html' title='Java Posse is talking about Apple in every episode'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6789949491947315725</id><published>2010-04-30T11:05:00.002-05:00</published><updated>2010-04-30T11:37:49.914-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Rest in Peace: Microsoft Courier</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.worldcorrespondents.com/wp-content/uploads/2010/04/courier-260.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 260px; height: 190px;" src="http://www.worldcorrespondents.com/wp-content/uploads/2010/04/courier-260.jpg" border="0" alt="" /&gt;Courier&lt;/a&gt;The long rumored Microsoft Courier, the dual screen tablet, is &lt;a href="http://www.worldcorrespondents.com/microsoft-kills-courier-tablet-project/884783"&gt;rumored to be cancelled&lt;/a&gt; yesterday. This unit has similar concept to Apple's Knowledge Navigator at 1987. Conceptual video below. I guess the iPad success just proved that dual screen is not at its premier time yet. Considering &lt;a href="http://www.pcworld.com/article/193746/apple_ipad_costs_260_to_build_isuppli_finds.html"&gt;screen is the most expensive part of iPad&lt;/a&gt;, a Courier device could cost more than iPad, with no significant functionality than other Windows machines. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8mLqJNDWx-8&amp;hl=en_US&amp;fs=1&amp;"&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/8mLqJNDWx-8&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6789949491947315725?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6789949491947315725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6789949491947315725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6789949491947315725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6789949491947315725'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2010/04/rest-in-peace-microsoft-courier.html' title='Rest in Peace: Microsoft Courier'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-3753450769221477739</id><published>2010-04-25T18:04:00.004-05:00</published><updated>2010-04-25T18:11:06.923-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Fun commercial from Taiwan</title><content type='html'>The opening title is: "42 Days After Broke Up".&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UFHk6nARDcM&amp;hl=en_US&amp;fs=1&amp;"&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/UFHk6nARDcM&amp;hl=en_US&amp;fs=1&amp;" 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;It is a commercial for healthy tea drink. "One bottle per day, for six week. Enjoy your beauty" says at the end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-3753450769221477739?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/3753450769221477739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=3753450769221477739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3753450769221477739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3753450769221477739'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2010/04/fun-commercial-from-taiwan.html' title='Fun commercial from Taiwan'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-8791561331542820048</id><published>2010-04-19T04:43:00.002-05:00</published><updated>2010-04-19T04:48:26.670-05:00</updated><title type='text'>The death of netbook</title><content type='html'>Netbook is dying. Their enemy is not the iPad, but their own creators. Netbook manufactures keep making new "netbook/notebook hybrid" PCs.  This means the manufactures really think netbooks are just cheap notebooks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-8791561331542820048?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/8791561331542820048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=8791561331542820048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8791561331542820048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8791561331542820048'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2010/04/death-of-netbook.html' title='The death of netbook'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-9107597610107572768</id><published>2010-04-10T08:38:00.004-05:00</published><updated>2010-04-10T08:54:34.455-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><title type='text'>Taiwan Susan Boyle</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3epJ1lFVKV4/S8B_oEDfpRI/AAAAAAAAAQw/NWjN8fuOMqA/s1600/taiwan_susan.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 80px;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/S8B_oEDfpRI/AAAAAAAAAQw/NWjN8fuOMqA/s200/taiwan_susan.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5458503074632934674" /&gt;Taiwan Susan Boyle&lt;/a&gt; The "Taiwanese Susan Boyle" is popular everywhere on the web. It even shows side-by-side with Oprah.&lt;br /&gt;&lt;a href="http://www.popeater.com/2010/04/09/taiwanese-susan-boyle-lin-yu-chun-whitney-houston/"&gt;One of the news can be found here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-3-p_4z6FiM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1"&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/-3-p_4z6FiM&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="320" height="192"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-9107597610107572768?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/9107597610107572768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=9107597610107572768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/9107597610107572768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/9107597610107572768'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2010/04/taiwan-susan-boyle.html' title='Taiwan Susan Boyle'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3epJ1lFVKV4/S8B_oEDfpRI/AAAAAAAAAQw/NWjN8fuOMqA/s72-c/taiwan_susan.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5590242453982396507</id><published>2010-03-23T21:00:00.000-05:00</published><updated>2010-03-23T21:01:57.651-05:00</updated><title type='text'>AJAX Windows 3.1</title><content type='html'>&lt;a href="http://www.michaelv.org/"&gt;Windows 3.1 running in a browser. (Actually it is AJAX)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-5590242453982396507?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5590242453982396507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5590242453982396507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5590242453982396507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5590242453982396507'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2010/03/ajax-windows-31.html' title='AJAX Windows 3.1'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2113092408769083837</id><published>2010-02-28T15:51:00.004-05:00</published><updated>2010-02-28T15:54:42.084-05:00</updated><title type='text'>Top slow web sites (Your IT department needs more budgets!)</title><content type='html'>Dominos.com: The site response time is more than 30 seconds.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-2113092408769083837?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2113092408769083837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2113092408769083837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2113092408769083837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2113092408769083837'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2010/02/top-slow-web-sites-your-it-department.html' title='Top slow web sites (Your IT department needs more budgets!)'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-1682641715365590287</id><published>2010-02-07T21:19:00.005-05:00</published><updated>2010-02-07T21:26:57.400-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jee'/><title type='text'>Spend millions on superbowl commercial but missed the web site (vizio.com)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3epJ1lFVKV4/S292a84tLOI/AAAAAAAAAPw/5wkzpsJzj4o/s1600-h/vizio_timeout.PNG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 57px;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/S292a84tLOI/AAAAAAAAAPw/5wkzpsJzj4o/s200/vizio_timeout.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5435693480652123362" /&gt;&lt;/a&gt;&lt;br /&gt;There is a very cool commercial from TV maker VIZIO in superbowl Sunday. Unfortunately, the vizio.com web site crashed right after the commercial. How come a company spent millions of dollars on the commercial but forgot to spend a few tens of thousand dollars to prepare their web site? Even a static web page is better than connection time out.&lt;br /&gt;&lt;br /&gt;If you are VIZIO executives, rent some web servers before your commercial next time. It is the Internet age. You are an Internet TV provider. It is disappointing to see a Internet TV provider missed this part.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-1682641715365590287?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/1682641715365590287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=1682641715365590287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1682641715365590287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1682641715365590287'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2010/02/spend-millions-on-superbowl-commercial.html' title='Spend millions on superbowl commercial but missed the web site (vizio.com)'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3epJ1lFVKV4/S292a84tLOI/AAAAAAAAAPw/5wkzpsJzj4o/s72-c/vizio_timeout.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-157674342848069763</id><published>2009-12-23T19:23:00.004-05:00</published><updated>2009-12-23T20:38:10.267-05:00</updated><title type='text'>Window XP Mode - The cleanest XP</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_3epJ1lFVKV4/SzK1Go__UtI/AAAAAAAAAOw/2mYv0mc_kEg/s1600-h/XPMode.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 125px;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/SzK1Go__UtI/AAAAAAAAAOw/2mYv0mc_kEg/s200/XPMode.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5418592427369779922" /&gt;Windos XP Mode&lt;/a&gt; I installed Windows XP Mode on Windows 7 today. This special version of Windows XP does not give any extra stuff on the desktop. No welcome tour, no promotion for network service or media sign up. That is the cleanest version of Windows XP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-157674342848069763?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/157674342848069763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=157674342848069763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/157674342848069763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/157674342848069763'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/12/window-xp-mode-cleanest-xp.html' title='Window XP Mode - The cleanest XP'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3epJ1lFVKV4/SzK1Go__UtI/AAAAAAAAAOw/2mYv0mc_kEg/s72-c/XPMode.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2444371275096539207</id><published>2009-12-16T18:12:00.001-05:00</published><updated>2009-12-16T18:14:26.520-05:00</updated><title type='text'>Wow.. Microsoft China copy code from Plurk</title><content type='html'>I think it is important for a company to give ethic education to their employee, even outsourced partners.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.plurk.com/2009/12/14/microsoft-rips-plurk/"&gt;http://blog.plurk.com/2009/12/14/microsoft-rips-plurk/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-2444371275096539207?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2444371275096539207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2444371275096539207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2444371275096539207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2444371275096539207'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/12/wow-microsoft-china-copy-code-from.html' title='Wow.. Microsoft China copy code from Plurk'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5986225921581878896</id><published>2009-09-25T07:40:00.003-05:00</published><updated>2009-09-25T07:45:39.536-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebKit'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>The biggest trojan horse ever: Google Chrome Frame for IE</title><content type='html'>Google released a plug-in for Microsoft Internet Explorer 6, 7, and 8 on Windows Vista / XP SP2 called &lt;a href="http://code.google.com/chrome/chromeframe/"&gt;Google Chrome Frame&lt;/a&gt;. Once installed, your IE will automatically render a page using Google Chrome when the HTML code needs it, such as HTML 5 canvas.  This allows user to keep using IE for legacy applications while supporting the new HTML 5 standard. Google claim you will see pages run faster with this plugin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-5986225921581878896?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5986225921581878896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5986225921581878896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5986225921581878896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5986225921581878896'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/09/biggest-trojan-horse-ever-google-chrome.html' title='The biggest trojan horse ever: Google Chrome Frame for IE'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-8244311034215095920</id><published>2009-09-14T22:46:00.003-05:00</published><updated>2009-09-16T04:55:04.480-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Beyonce and Taylor Swift</title><content type='html'>The biggest winner in last night's MTV VMA is no doubt Taylor Swift. 24 hours ago I did not even heard of her name or song. 24 hours later I am writing blog for this girl.  The subway to street performance is great. Beyonce is such a sweet lady to give Taylor her moment back.  She is a true star.&lt;br /&gt;&lt;br /&gt;After watching the special performance of Kanye West and Lil Mama, and the performance of 'You Lie' in congress, I am wondering what is wrong with the U.S. education. Where is the simple respect to the people?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-8244311034215095920?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/8244311034215095920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=8244311034215095920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8244311034215095920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8244311034215095920'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/09/beyonce-and-taylor-swift.html' title='Beyonce and Taylor Swift'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6233423531778248109</id><published>2009-06-26T20:56:00.005-05:00</published><updated>2009-06-26T21:13:17.936-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='Michael Jackson'/><title type='text'>Michael Jackson took over iTunes Store</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3epJ1lFVKV4/SkV9WNHPjGI/AAAAAAAAAMM/_bQpkBJHvlE/s1600-h/mj_itunes.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 87px; height: 320px;" src="http://3.bp.blogspot.com/_3epJ1lFVKV4/SkV9WNHPjGI/AAAAAAAAAMM/_bQpkBJHvlE/s320/mj_itunes.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5351821552630336610" /&gt;&lt;/a&gt;&lt;br /&gt;In today's iTunes Store Top 10 album, nine of them are from Michael Jackson.  I don't think there is anyone in the world can achieve the same for the next 20 years. Michael Jackson is part of everyone's childhood memory.  He is a great artist and inspired people of the whole world. Thank you Michael Jackson.&lt;br /&gt;&lt;br /&gt;There are a lot of his work not being published properly. &lt;a href="http://midipig.blogspot.com/2008/06/my-favorite-michael-jackson-mv-was.html"&gt;Some of them&lt;/a&gt; is because record label think it is not proper for the market. I hope the record label can release all his work regardless of the sensitivity of the content.&lt;br /&gt;&lt;br /&gt;By the way, where can I buy (buy) the song "Hold My Hand" ft. Akon and Michael Jackson?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6233423531778248109?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6233423531778248109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6233423531778248109' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6233423531778248109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6233423531778248109'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/06/michael-jackson-took-over-itunes-store.html' title='Michael Jackson took over iTunes Store'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3epJ1lFVKV4/SkV9WNHPjGI/AAAAAAAAAMM/_bQpkBJHvlE/s72-c/mj_itunes.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6793045200360848869</id><published>2009-06-24T23:45:00.003-05:00</published><updated>2009-06-25T00:02:53.163-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><title type='text'>Eclipse on Cocoa</title><content type='html'>Today is &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;'s yearly release day. The &lt;a href="http://www.eclipse.org/galileo/"&gt;new version (Galileo)&lt;/a&gt; on Mac OS X starts support on Cocoa framework. It won't look any different, but hopefully the easier coding style will attract more developers for Mac SWT development.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6793045200360848869?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6793045200360848869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6793045200360848869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6793045200360848869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6793045200360848869'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/06/eclipse-on-cocoa.html' title='Eclipse on Cocoa'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6286939609256709226</id><published>2009-06-14T07:13:00.002-05:00</published><updated>2009-06-14T07:41:15.493-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Guice'/><category scheme='http://www.blogger.com/atom/ns#' term='dependency injection'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><title type='text'>Dependency Injection might become official (JSR 330)</title><content type='html'>Finally all the popular dependency injection (DI) experts in Java platform sits down together. JSR 330 is lead by the founder of Google Guice and the Spring Framework.  The effort is also supported by the founder of PicoContainer, Plexus and Tapestry IoC.&lt;br /&gt;&lt;br /&gt;Here is my understanding of three popular Java SE dependency injection containers:&lt;br /&gt;&lt;br /&gt;Spring DI configuration is mainly XML based. It allow you to use pre Java 5 classes for dependency injection. Setter injection is the preferred style. All Java classes can be used for injection without noticing the Spring framework in advance. This allow legacy code to retrofit into the framework. &lt;br /&gt;&lt;br /&gt;PicoContainer is by far the lightest DI container in Java. It is small enough to run on mobile devices.  PicoContainer uses mainly class-based configuration. The configuration file is a Java class itself.  Constructor injection is more common in PicoContainer, and the code base is so stable it did not get any update for years.&lt;br /&gt;&lt;br /&gt;Guice is an annotation based container. This means it requires Java 5 and later, both for the classes being injected, as well as the classes receive injected objects.  Guice is significantly easier to use due to the annotation.  Unlike the other two containers above, projects that use Guice will have direct compilation dependency if Guice jar files, also due to the nature of Java annotation.  I guess that's why people what to put it into standard Java SDK - so we don't need to make a choice anymore.&lt;br /&gt;&lt;br /&gt;I hope the the final result will be as easy to use as Google Guice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6286939609256709226?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6286939609256709226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6286939609256709226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6286939609256709226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6286939609256709226'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/06/dependency-injection-might-become.html' title='Dependency Injection might become official (JSR 330)'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-4097100006629470326</id><published>2009-05-27T06:35:00.003-05:00</published><updated>2009-05-27T06:42:55.455-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><title type='text'>Good bye Bookpool</title><content type='html'>Bookpool.com, the place I buy books for almost 10 years, is offline. Bookpool was a online book retailer that had one of the most reliable ordering system and always ship on time. Their ordering flow was easy, mostly because they don't set up too many trap questions (such as "do you want to buy more?") in the work flow. The free shipping policy is simple, and the packaging quality is excellent.  It is sad that a great vendor like this goes offline. Thank you for all these years of service and good bye bookpool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-4097100006629470326?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/4097100006629470326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=4097100006629470326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4097100006629470326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4097100006629470326'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/05/good-bye-bookpool.html' title='Good bye Bookpool'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5678317938290429659</id><published>2009-05-10T22:20:00.003-05:00</published><updated>2009-06-13T14:23:27.097-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>Vista recycled my bin</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_3epJ1lFVKV4/SgeZ_XM-oUI/AAAAAAAAALU/SEENeYiu8zM/s1600-h/recycled_bin.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 170px;" src="http://1.bp.blogspot.com/_3epJ1lFVKV4/SgeZ_XM-oUI/AAAAAAAAALU/SEENeYiu8zM/s200/recycled_bin.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5334401597482901826" /&gt;&lt;/a&gt;&lt;br /&gt;Today is the first time I empty my recycle bin in Vista. Seems Vista recycled the bin with the files. After I empty trash, the recycle bin icon disappeared. This is so weird. Let's hope the restart can solve this problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-5678317938290429659?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5678317938290429659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5678317938290429659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5678317938290429659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5678317938290429659'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/05/vista-recycled-by-bin.html' title='Vista recycled my bin'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3epJ1lFVKV4/SgeZ_XM-oUI/AAAAAAAAALU/SEENeYiu8zM/s72-c/recycled_bin.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-1098805789877906414</id><published>2009-03-23T20:53:00.004-05:00</published><updated>2009-03-23T21:04:16.344-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>iPhone Data Roaming charges</title><content type='html'>For those who wants to bring their at&amp;t wireless iPhone for a Caribbean trip, here are some sample roaming charges:&lt;br /&gt;&lt;br /&gt;Roaing Text:&lt;br /&gt;US$0.50 per message in Jamaica.&lt;br /&gt;US$0.50 per message in Mexico.&lt;br /&gt;&lt;br /&gt;Roaming Data:&lt;br /&gt;US$4.13 for 212KB data in Jamaica (Google Map for half minute, check e-mail once, then turn off roaming)&lt;br /&gt;US$2.05 for 105KB data in Mexico (Google Map for half minute, then turn off roaming)&lt;br /&gt;&lt;br /&gt;Roaming Calls:&lt;br /&gt;US$2.00 per minute in Jamaica&lt;br /&gt;&lt;br /&gt;Roaming is very convenient and very expensive..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-1098805789877906414?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/1098805789877906414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=1098805789877906414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1098805789877906414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1098805789877906414'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/03/iphone-data-roaming-charges.html' title='iPhone Data Roaming charges'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2808053940074764035</id><published>2009-03-17T07:19:00.001-05:00</published><updated>2009-03-17T07:20:57.328-05:00</updated><title type='text'>咖啡西施</title><content type='html'>美國也開始出現西施了 不過不是賣檳榔 是&lt;a href="http://www.cnn.com/video/#/video/us/2009/03/16/bikini.stand.ups.sales.komo.komo"&gt;賣咖啡&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-2808053940074764035?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2808053940074764035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2808053940074764035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2808053940074764035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2808053940074764035'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/03/blog-post.html' title='咖啡西施'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-3299198500990388867</id><published>2009-03-16T21:50:00.002-05:00</published><updated>2009-03-16T21:53:50.175-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Royal Caribbean'/><title type='text'>海洋神話號抵達台灣 Legend of the Seas</title><content type='html'>&lt;a href="http://udn.com/NEWS/MAINLAND/BREAKINGNEWS4/4792551.shtml"&gt;海洋神話號抵達台灣&lt;/a&gt; 據說這是亞洲最大遊輪&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-3299198500990388867?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/3299198500990388867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=3299198500990388867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3299198500990388867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3299198500990388867'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/03/legend-of-seas.html' title='海洋神話號抵達台灣 Legend of the Seas'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5023843655380238029</id><published>2009-03-02T15:08:00.003-05:00</published><updated>2009-03-02T15:13:04.577-05:00</updated><title type='text'>My laptop inside a chip</title><content type='html'>I am using a Thinkpad T42 everyday. It is good to know that now Intel can put my good old laptop into a &lt;a href="http://www.intel.com/design/intarch/ep80579/index.htm"&gt;single chip&lt;/a&gt;. Looks like Windows XP will live for very, very long...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-5023843655380238029?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5023843655380238029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5023843655380238029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5023843655380238029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5023843655380238029'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/03/my-laptop-inside-chip.html' title='My laptop inside a chip'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-4435899055298715306</id><published>2009-01-08T01:08:00.002-05:00</published><updated>2009-01-08T01:18:26.657-05:00</updated><title type='text'>亂成一團</title><content type='html'>公司裡來了一位很讓上級喜歡的專案經理，因為要向上級邀功，硬是把計畫的時程提前一個月。全部的組員聽到都以為是開玩笑，更妙的是組長也沒有警覺到事情的嚴重性，就開開心心的說好好好我回去催一下。&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/22171124-4435899055298715306?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/4435899055298715306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=4435899055298715306' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4435899055298715306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4435899055298715306'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/01/blog-post_08.html' title='亂成一團'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-195460841203913877</id><published>2009-01-07T06:38:00.003-05:00</published><updated>2009-01-07T06:53:11.974-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>難搞的仿象牙琴鍵</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_3epJ1lFVKV4/SWSUdRD4AZI/AAAAAAAAAIo/BG36srlwcXk/s1600-h/Fantom.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_3epJ1lFVKV4/SWSUdRD4AZI/AAAAAAAAAIo/BG36srlwcXk/s200/Fantom.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5288515092956578194" /&gt;&lt;/a&gt;看了好一陣子選了一架號稱有仿象牙質感的琴鍵，大概是比較好的意思。結果才發現原來所謂仿名貴象牙的塗裝也要有仿名貴的使用方法：&lt;br /&gt;&lt;br /&gt;1. 不可以在鍵盤上寫字 會被吸收&lt;br /&gt;2. 不可以在鍵盤上貼東西 會被吸住拔不下來&lt;br /&gt;3. 如果拔掉就會連彷象牙表面一起拔下來&lt;br /&gt;4. 只能輕輕擦 如果真的髒了還要用專門的清潔劑&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/22171124-195460841203913877?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/195460841203913877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=195460841203913877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/195460841203913877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/195460841203913877'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2009/01/blog-post.html' title='難搞的仿象牙琴鍵'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3epJ1lFVKV4/SWSUdRD4AZI/AAAAAAAAAIo/BG36srlwcXk/s72-c/Fantom.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5078978429257846032</id><published>2008-12-23T06:51:00.004-05:00</published><updated>2008-12-23T07:14:29.590-05:00</updated><title type='text'>台灣，中國省？</title><content type='html'>ISO國際組織幾年前悄悄的把&lt;a href="http://www.iso.org/iso/english_country_names_and_code_elements"&gt;台灣的名字&lt;/a&gt;定為『台灣，中國省』。(Taiwan, Province of China)&lt;br /&gt;全球華人聽到這個名字大概都會忍不住噴飯，因為這個稱呼實在吃豆腐到了極點。&lt;br /&gt;&lt;br /&gt;雖說台灣已經習慣被中國亂叫 已經沒感覺了 但是要注意的是 這個名字會被全世界各地的資訊系統拿來參考&lt;br /&gt;到時候眾口鑠金 解釋都沒用。&lt;br /&gt;前政府不是整天喊正名嗎 怎麼會讓這個名字傳出去？&lt;br /&gt;現任政府在哪裡？&lt;br /&gt;其實加不加入聯合國是其次 ISO名稱錯亂所造成的影響才是全面的&lt;br /&gt;到時所有的資訊系統都用錯的名字就麻煩了&lt;br /&gt;&lt;br /&gt;有沒有朋友在ISO工作的 可不可以反應一下&lt;br /&gt;The country name is: Taiwan&lt;br /&gt;or &lt;br /&gt;Taiwan, Republic of China&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/22171124-5078978429257846032?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5078978429257846032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5078978429257846032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5078978429257846032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5078978429257846032'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/12/blog-post_23.html' title='台灣，中國省？'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-7126503431566308862</id><published>2008-12-21T06:08:00.003-05:00</published><updated>2009-01-07T06:52:34.712-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='movie'/><title type='text'>山寨富翁/貧民窟的百萬富翁 Slumdog Millionaire</title><content type='html'>猜火車的導演拍了一部以&lt;a href="http://www.foxsearchlight.com/slumdogmillionaire/"&gt;印度為背景的電影&lt;/a&gt; 小說改編&lt;br /&gt;傳統由印度導演拍出來的印度電影，通常會把印度拍得風光明媚鳥語花香。然而這是英國導演拍的。電影的節奏明快，而且因為是外籍導演，沒有傳統的包袱，整部電影呈現了驚人的能量。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-7126503431566308862?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/7126503431566308862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=7126503431566308862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7126503431566308862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7126503431566308862'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/12/slumdog-millionaire.html' title='山寨富翁/貧民窟的百萬富翁 Slumdog Millionaire'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-8960002421527905708</id><published>2008-12-19T21:49:00.002-05:00</published><updated>2008-12-19T21:51:45.273-05:00</updated><title type='text'>漢堡初體驗</title><content type='html'>漢堡王跑去世界各地找沒吃過漢堡的人拍攝&lt;a href="http://www.whoppervirgins.com/"&gt;漢堡初體驗&lt;/a&gt;&lt;br /&gt;感覺蠻有創意的 難得漢堡王有些新點子&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-8960002421527905708?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/8960002421527905708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=8960002421527905708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8960002421527905708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8960002421527905708'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/12/blog-post.html' title='漢堡初體驗'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-1093102099159441755</id><published>2008-12-18T21:15:00.005-05:00</published><updated>2008-12-18T21:19:26.570-05:00</updated><title type='text'>快！我的親戚上YouTube了！</title><content type='html'>有YouTube真方便&lt;br /&gt;一家人立刻就成為網路明星了呢&lt;br /&gt;這位小朋友真是認真又可愛&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/l5J5PwRV4Vo&amp;hl=en&amp;fs=1"&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/l5J5PwRV4Vo&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;http://www.youtube.com/watch?v=l5J5PwRV4Vo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-1093102099159441755?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/1093102099159441755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=1093102099159441755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1093102099159441755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1093102099159441755'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/12/youtube.html' title='快！我的親戚上YouTube了！'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-8456133920690405016</id><published>2008-12-11T00:03:00.007-05:00</published><updated>2008-12-11T00:35:55.579-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='application'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><category scheme='http://www.blogger.com/atom/ns#' term='Swing'/><title type='text'>JavaFX with Your Dad's Java (a.k.a. Swing)</title><content type='html'>JavaFX deliberately left out a lot of Swing components because they think it is targeted for RIA and mobile platform.  I am not sure if that logic make sense.  Anyway, here is a minimum example of how to reuse existing Swing component in JavaFX.  In the example below I use a JEditorPane as a JavaFX component.&lt;br /&gt;&lt;br /&gt;SimpleSwingEditor.fx&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package com.aspectsolution.javafx.example;&lt;br /&gt;&lt;br /&gt;import javafx.ext.swing.SwingComponent;&lt;br /&gt;import javax.swing.JEditorPane;&lt;br /&gt;import java.awt.Dimension;&lt;br /&gt;&lt;br /&gt;public class SimpleSwingEditor extends SwingComponent {&lt;br /&gt;&lt;br /&gt;  public override function createJComponent() {&lt;br /&gt;      var wrappedEditor: JEditorPane;&lt;br /&gt;      wrappedEditor = new JEditorPane();&lt;br /&gt;      wrappedEditor.setPreferredSize(new Dimension(width, height));&lt;br /&gt;      return new JEditorPane();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Main.fx&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/*&lt;br /&gt;* Main.fx&lt;br /&gt;*&lt;br /&gt;* Created on Dec 10, 2008, 11:23:38 PM&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;package com.aspectsolution.javafx.example;&lt;br /&gt;&lt;br /&gt;import javafx.stage.Stage;&lt;br /&gt;import javafx.scene.Scene;&lt;br /&gt;import javafx.scene.Group;&lt;br /&gt;import javafx.scene.text.Text;&lt;br /&gt;import javafx.scene.text.Font;&lt;br /&gt;import javafx.scene.shape.Rectangle;&lt;br /&gt;import javafx.scene.shape.Circle;&lt;br /&gt;import javafx.scene.paint.Color;&lt;br /&gt;&lt;br /&gt;Stage {&lt;br /&gt;  title: "Simple Swing in FX"&lt;br /&gt;  width: 400&lt;br /&gt;  height: 300&lt;br /&gt;  scene: Scene {&lt;br /&gt;      content:&lt;br /&gt;          Group {&lt;br /&gt;              content: [&lt;br /&gt;                  Rectangle {&lt;br /&gt;                      width: 400&lt;br /&gt;                      height: 300&lt;br /&gt;                      fill: Color.BEIGE&lt;br /&gt;                  },&lt;br /&gt;                  Circle {&lt;br /&gt;                      centerX:200&lt;br /&gt;                      centerY:130&lt;br /&gt;                      radius: 120&lt;br /&gt;                      fill: Color.LIGHTBLUE&lt;br /&gt;                  },&lt;br /&gt;                  Text {&lt;br /&gt;                      font: Font {&lt;br /&gt;                          size: 24&lt;br /&gt;                      }&lt;br /&gt;                      x: 10, y: 30&lt;br /&gt;                      content: "A Simple Editor"&lt;br /&gt;                  },&lt;br /&gt;                  SimpleSwingEditor {&lt;br /&gt;                      width: 400, height: 270&lt;br /&gt;                      translateY: 60&lt;br /&gt;                      opacity: 0.8&lt;br /&gt;                  }&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;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3epJ1lFVKV4/SUCjhBPVJ-I/AAAAAAAAAH0/pJMfJCtlSYY/s1600-h/SwingFX.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 158px;" src="http://4.bp.blogspot.com/_3epJ1lFVKV4/SUCjhBPVJ-I/AAAAAAAAAH0/pJMfJCtlSYY/s200/SwingFX.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5278398550941968354" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-8456133920690405016?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/8456133920690405016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=8456133920690405016' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8456133920690405016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8456133920690405016'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/12/javafx-with-your-dads-java-aka-swing.html' title='JavaFX with Your Dad&apos;s Java (a.k.a. Swing)'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3epJ1lFVKV4/SUCjhBPVJ-I/AAAAAAAAAH0/pJMfJCtlSYY/s72-c/SwingFX.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-4405491765769547039</id><published>2008-12-10T17:11:00.007-05:00</published><updated>2008-12-23T15:27:18.542-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans'/><title type='text'>Java平台在2009年自行毀滅的最新發展 不毀了?</title><content type='html'>之前曾經提到&lt;a href="http://midipig.blogspot.com/2006/11/java2009.html"&gt;關於Java平台在2009&lt;/a&gt;年要自行毀滅的問題，最近出現了轉機。&lt;br /&gt;&lt;div&gt;據說Sun公司&lt;a href="http://blogs.sun.com/mr/entry/jigsaw"&gt;暫時終止了Java Module System (JSR 277)的開發&lt;/a&gt;，而該計畫的領導人也離開了該公司。所以目前看來之前顧慮到自行毀滅的問題暫時是不會發生了。&lt;br /&gt;高興的不只是我們這些局外人，連&lt;a href="http://blogs.sun.com/meetjeet/entry/osgi_vs_jsr_277"&gt;該公司內部的高階主管也支持&lt;/a&gt;。&lt;br /&gt;&lt;/div&gt;&lt;div&gt;很高興Sun終於有一次不再堅持一定要用自己家裡開發的技術。既然連平台本身都是開放原始碼了 何苦硬要什麼東西都自己來。可能是因為早些年在.com的年代太風光，Sun常常跟別的公司大小眼。講到這個我又忍不住要拿NetBeans來當例子。唉。說了Sun也是不會聽。不要再假裝NetBeans『真的很好用』了..明明就到現在還是有編譯結果跟程式編輯器不同步的問題，明明程式都對了還給我畫紅線在底下，而且拼命要推銷給大家說有多棒。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-4405491765769547039?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/4405491765769547039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=4405491765769547039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4405491765769547039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4405491765769547039'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/12/java2009.html' title='Java平台在2009年自行毀滅的最新發展 不毀了?'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-1786915867288461298</id><published>2008-10-23T04:43:00.002-05:00</published><updated>2008-10-23T04:48:58.085-05:00</updated><title type='text'>第一次去歐洲</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3epJ1lFVKV4/SQBIgRfPdZI/AAAAAAAAAG8/3XSXOmPV12k/s1600-h/%E5%90%8D%E4%BA%BA%E8%87%B3%E5%B0%8A.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://3.bp.blogspot.com/_3epJ1lFVKV4/SQBIgRfPdZI/AAAAAAAAAG8/3XSXOmPV12k/s200/%E5%90%8D%E4%BA%BA%E8%87%B3%E5%B0%8A.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5260284084056192402" /&gt;&lt;/a&gt;&lt;br /&gt;第一次去歐洲,但是沒有機會去路上玩。大部分的時間都在船上過的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-1786915867288461298?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/1786915867288461298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=1786915867288461298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1786915867288461298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1786915867288461298'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/10/blog-post.html' title='第一次去歐洲'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3epJ1lFVKV4/SQBIgRfPdZI/AAAAAAAAAG8/3XSXOmPV12k/s72-c/%E5%90%8D%E4%BA%BA%E8%87%B3%E5%B0%8A.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6783257473399486225</id><published>2008-09-23T22:38:00.005-05:00</published><updated>2008-09-26T04:13:32.689-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Another phone</title><content type='html'>Another company announced their "phone software".  That company only take care of software, so they are not responsible to the hardware.  The hardware design company was very famous and success on Windows Mobile platform, but compare to their amazing Windows Mobile models, this new phone apparently is not the best design.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sorry the 'another phone software' company. You are not there yet.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6783257473399486225?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6783257473399486225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6783257473399486225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6783257473399486225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6783257473399486225'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/09/another-phone.html' title='Another phone'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2252231012380403393</id><published>2008-09-06T23:29:00.003-05:00</published><updated>2008-09-06T23:46:40.094-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><category scheme='http://www.blogger.com/atom/ns#' term='WebKit'/><category scheme='http://www.blogger.com/atom/ns#' term='Safari'/><title type='text'>WebKit gains more ground</title><content type='html'>Last November I wrote &lt;a href="http://midipig.blogspot.com/2007/11/30.html"&gt;The Browser War 3.0&lt;/a&gt; saying that WebKit will be the way of the embedded web in the mobile devices. Looks like this year WebKit gains more popularity. Not only Google Chrome use WebKit as the rendering engine, but also the new &lt;a href="http://weblogs.java.net/blog/ixmal/archive/2008/05/introducing_jwe.html"&gt;JavaFX JWebPane&lt;/a&gt;. Finally there is an official way to display the "street HTML" inside Swing components. Before JavaFX JWebPane, Swing has some minimum support of HTML for styled text, but they are not strong enough to be a web browser.  Eclipse RCP did a pretty good job to integrate native browser (such as IE) into SWT component.  I really look forward to see the JavaFX WebKit integration. With this component, the technical boundary of Rich Internet Application will be redefined.  It sounds possible to me to write a JavaFX RIA contains a JavaScript RIA inside.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-2252231012380403393?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2252231012380403393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2252231012380403393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2252231012380403393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2252231012380403393'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/09/webkit-gains-more-ground.html' title='WebKit gains more ground'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-8329909579747192266</id><published>2008-08-07T06:50:00.002-05:00</published><updated>2008-08-07T07:04:19.075-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='movie'/><title type='text'>X檔案: 我不要相信！</title><content type='html'>前幾天聽說X檔案竟然在十年後又有續集了! 興沖沖的跑去電影院看,一開始Mulder把自己關在房間裡研究飛碟‚Scully好像跟他不是很熟。忽然沒幾分鐘兩個人又睡在一張床上,因為Scully說她害怕睡不著。整片就看兩個人跑過來跑過去。我還沒有弄清楚在演什麼, 忽然螢幕下方捲出演員名單的字幕, 然後我看到鄰座觀眾拿著爆米花離場。啊！原來已經演完了！ 錯愕的我呆坐在電影院的椅子上,腦筋一片空白, 真的不知道整片在演什麼, 真是不可思議啊。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-8329909579747192266?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/8329909579747192266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=8329909579747192266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8329909579747192266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8329909579747192266'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/08/x.html' title='X檔案: 我不要相信！'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6744714700172690771</id><published>2008-08-01T04:54:00.007-05:00</published><updated>2008-08-01T05:49:50.681-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><title type='text'>It's (almost) official: JavaFX Preview SDK</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3epJ1lFVKV4/SJLmxBsdHfI/AAAAAAAAAFU/WP9AF3Y7KIg/s1600-h/JavaFXApp.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/SJLmxBsdHfI/AAAAAAAAAFU/WP9AF3Y7KIg/s200/JavaFXApp.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5229495847273438706" /&gt;&lt;/a&gt;Sun promised to release &lt;a href="http://www.javafx.com/"&gt;JavaFX Preview&lt;/a&gt; on July 2008. Yesterday is the last day of July, and they really released it as they promised! Compare to the JavaOne 2008 preview, this release is very impressive. The SDK is bundled with NetBeans 6.1. If you have previous version of JavaFX installed in your NetBeans, you need to remove them first.  I find it easier just to uninstall the NetBeans and let the bundle reinstall from the scratch. On Mac OS X, I simply drag my NetBeans.app into the trash, open Console and &lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;rm -r .netbeans*&lt;/span&gt; in my home directory.  The installation is simple, and there is no need for other configurations.&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;The new JavaFX SDK in NetBeans has a lot of enhancement. For people not familiar with the language (that includes almost everyone), the JavaFX Palette provides a quick way to drag-and-drop code snippet into the editor. With the help of the Palette and some &lt;a href="http://java.sun.com/javafx/reference/creating_guis/"&gt;online tutorial&lt;/a&gt;, I managed to get my first JavaFX test in 20 minutes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_3epJ1lFVKV4/SJLnFfK6Y2I/AAAAAAAAAFc/4yykbQsESbY/s200/JavaFXPalette.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5229496198783198050" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/*&lt;br /&gt;* Main.fx&lt;br /&gt;*&lt;br /&gt;* Created on Aug 1, 2008, 5:19:32 AM&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;package javafxapplication1;&lt;br /&gt;&lt;br /&gt;import javafx.application.Application;&lt;br /&gt;import javafx.application.Stage;&lt;br /&gt;import javafx.application.Frame;&lt;br /&gt;import javafx.ext.swing.ComponentView;&lt;br /&gt;import javafx.ext.swing.Label;&lt;br /&gt;import javafx.scene.geometry.Circle;&lt;br /&gt;import javafx.scene.paint.Color;&lt;br /&gt;import javafx.scene.transform.Rotate;&lt;br /&gt;import javafx.scene.transform.Translate;&lt;br /&gt;import javafx.scene.text.Text;&lt;br /&gt;import javafx.scene.Font;&lt;br /&gt;import javafx.scene.FontStyle;&lt;br /&gt;import javafx.ext.swing.Button;&lt;br /&gt;import javafx.scene.geometry.Rectangle;&lt;br /&gt;import javafx.scene.effect.*;&lt;br /&gt;import javafx.scene.paint.*;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Frame {&lt;br /&gt;title: "MyApplication"&lt;br /&gt;width: 200&lt;br /&gt;height: 200&lt;br /&gt;closeAction: function() {&lt;br /&gt;    java.lang.System.exit( 0 );&lt;br /&gt;}&lt;br /&gt;visible: true&lt;br /&gt;&lt;br /&gt;stage: Stage {&lt;br /&gt;    content: [&lt;br /&gt;        ComponentView {&lt;br /&gt;            transform: [&lt;br /&gt;                Rotate { x : 0.0, y : 10.0, angle: 0.0 },&lt;br /&gt;                Translate { x : 5.0, y : 5.0 }&lt;br /&gt;            ]&lt;br /&gt;            component:&lt;br /&gt;                Button {&lt;br /&gt;                    text: "Button"&lt;br /&gt;                    action: function() {&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;        },&lt;br /&gt;        Rectangle {&lt;br /&gt;            x: -40, y: 140&lt;br /&gt;            width: 300, height: 90&lt;br /&gt;            fill: Color.LIGHTGRAY&lt;br /&gt;            transform: [&lt;br /&gt;                Rotate { x : 0.0, y : 10.0, angle: -10.0 }&lt;br /&gt;            ]&lt;br /&gt;        },&lt;br /&gt;        Circle {&lt;br /&gt;            centerX: 100, centerY: 70&lt;br /&gt;            radius: 40&lt;br /&gt;            fill:&lt;br /&gt;                LinearGradient { startX: 0 startY: 0 endX: 1 endY: 1&lt;br /&gt;                stops: [&lt;br /&gt;                    Stop { offset:0 color: Color.web("#ffff00")},&lt;br /&gt;                    Stop { offset:1 color: Color.web("#5f0101")}&lt;br /&gt;                ]&lt;br /&gt;                }&lt;br /&gt;        },&lt;br /&gt;        Text {&lt;br /&gt;            font: Font {&lt;br /&gt;                size: 24&lt;br /&gt;                style: FontStyle.PLAIN&lt;br /&gt;            }&lt;br /&gt;            x: 30, y: 65&lt;br /&gt;            content: "Hello JavaFX"&lt;br /&gt;            transform: [&lt;br /&gt;                Translate { x : 0.0, y : 100.0 }&lt;br /&gt;            ]&lt;br /&gt;            effect: DropShadow {&lt;br /&gt;                offsetX: 2   offsetY: 2   radius: 6&lt;br /&gt;                color: Color.BLACK&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    ]&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6744714700172690771?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6744714700172690771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6744714700172690771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6744714700172690771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6744714700172690771'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/08/its-almost-official-javafx-preview-sdk.html' title='It&apos;s (almost) official: JavaFX Preview SDK'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3epJ1lFVKV4/SJLmxBsdHfI/AAAAAAAAAFU/WP9AF3Y7KIg/s72-c/JavaFXApp.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2959990535965270447</id><published>2008-07-18T04:04:00.004-05:00</published><updated>2008-07-21T21:41:42.574-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Guice'/><category scheme='http://www.blogger.com/atom/ns#' term='dependency injection'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Guice - 谷歌的果汁</title><content type='html'>&lt;div&gt;&lt;div&gt;Guice (pronouced 'juice') is a new dependency injection framework from Google. The biggest difference between Guice and other DI framework is the annotation. Guice does not use xml configuration. Instead, you mark your 'injectee' with the @Inject annotation. This annotation tell Guice: "Hello injector, I need your help. Try to find the dependencies for me".  The concept is very simple, and it really takes only 10 minutes to get started.  Of course, this assumes you already know what DI is, which might take a while to put it into practice.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The class dependency is organized in a &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Module&lt;/span&gt;. In the module, you &lt;span class="Apple-style-span" style="font-style: italic;"&gt;bind&lt;/span&gt; an interface to a concrete implementation.  Just like all DI framwork, the purpose is to avoid using the &lt;span class="Apple-style-span" style="font-style: italic;"&gt;new&lt;/span&gt; operation.  When you say &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Animal a = new Dog(); &lt;/span&gt;you hardcoded the Dog type in the source code.  If you run it the Guice way, you will create a AnimalModule,  and bind the Dog object within the AnimalModule. Next time when you want to switch the implementation, simply change the Module, not your code.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;span class="Apple-style-span" style="font-family: Monaco; font-size: 11px; "&gt;&lt;span style="color: #7f0055"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055"&gt;class&lt;/span&gt; AnimalModule &lt;span style="color: #7f0055"&gt;implements&lt;/span&gt; Module {&lt;/span&gt;&lt;/div&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;span style="color: #7f0055"&gt;public&lt;/span&gt; &lt;span style="color: #7f0055"&gt;void&lt;/span&gt; configure(Binder binder) {&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;binder.bind(Animal.&lt;span style="color: #7f0055"&gt;class&lt;/span&gt;).to(Dog.&lt;span style="color: #7f0055"&gt;class&lt;/span&gt;);&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco"&gt;}&lt;/p&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Monaco; font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Guice also provide support of field injection. You can initialize field values in a module, even for private fields.  Unlike Spring, which want to be a replacement of everything, Guice limit itself to be a simple layer focus on dependency injection.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you really want to know the disadvantage of Guice compare to other pre Java 5 DI frameworks, the only thing I can think of is the jar dependency.  Once you decide to use Guice annotation, you must include guice jar file in your classpath.  Some other DI framework like Spring or Pico can retrofit into old classes without touching the code.  This is not the case for Guice.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you want to start a new project and want to have a light DI layer quickly, Guice is really worth trying.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-2959990535965270447?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2959990535965270447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2959990535965270447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2959990535965270447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2959990535965270447'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/07/google-guice.html' title='Google Guice - 谷歌的果汁'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2957020477055910772</id><published>2008-07-17T04:50:00.005-05:00</published><updated>2008-07-17T05:37:09.339-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='application'/><category scheme='http://www.blogger.com/atom/ns#' term='desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>The evil File/Save</title><content type='html'>&lt;div&gt;Recently I discussed with my friend about desktop application design. In my opinion, most of the File/Save are bad design for a GUI-based system.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;1. A good application should try to hide the technical detail such as the file system in the operating system. File concept should be avoided whenever possible. The famous example is the Quicken financial software. When you open Quicken, you see your balance book. There is no need to open Quicken, and then open again for a file. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. If the application designer intends to use the File Folder metaphor in real life, he should avoid  File/Save because there is no such metaphor in real life as Save a file. When you file something, it is there. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. A document-based design should treat document as a physical document: They exists and persists as soon as they are created.  A user should not lost the whole document because he forgot to save it.  Someone may argue that a user might regret his changes and want to revert back to original file. There are plenty of technique to overcome this issue: Use of command pattern, journaling, or simply store multiple copies. They are all better than save-it-or-lose-it solution.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. User does not care if something is in the memory or in the storage. Developers does. To explain File/Save activity often involved in explanation of memory and storage, RAM and HDD.  These is too much information for the users.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a matter of fact, even for developer tools, there is rarely need for File/Save. Eclipse IDE (or Visual Age) is a good example.  In object-oriented language, you always work with class, not files. When coding is done, you compile it into class, not just save it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So next time when we design an application menu, think first if we really need that File/Save menu. Will that cause user to lose their work? Will we involved in the embarrassing moment to explain what is RAM and what is HDD to the user?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-2957020477055910772?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2957020477055910772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2957020477055910772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2957020477055910772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2957020477055910772'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/07/evil-filesave.html' title='The evil File/Save'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-1489905782424672401</id><published>2008-07-14T18:35:00.003-05:00</published><updated>2008-07-14T19:24:39.776-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jee'/><category scheme='http://www.blogger.com/atom/ns#' term='j2ee'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Stress testing gone wild</title><content type='html'>Last Friday iPhone launch event became iPocalypse - phone activation server was under heavy load, so heavy it becomes denial-of-service attack.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am very sure Apple did the full scale stress testing before the launch. However, I think this iPocalypse is more a project planning mistake than the technology issue. Why does Apple decide to launch the firmware 2.0 update on the exact same day of selling iPhone 3G?  I really appreciate Apple's intention of taking care of existing customers like me.  I feel loved. But to be honest, we already paid one year ago and enjoyed the iPhone for a year.  If we are not in the 3G line, that means we don't have to upgrade to 3G.  Why not just let the old customer wait for one or two days? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In reality, a stress-tested system gone wild when one of the execution path holding the resource.  When this happens, rebooting server will only solve the problem for a few seconds.  When users see "retry later" message, they will hit retry button more, not less. The longer user waits, the faster they hit the retry button.  This is human nature of dealing with frustration. Apparently you can change the error message to "Do not retry. It's not gonna work", but a more practical solution is to sit with your network admin or static web server admin to figure out a strategy to regulate the traffic.  If you have a controlled user (such as the iPhone case), it would be even better to organize the users.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I picked the right time to active my iPhone (early morning Sunday Eastern time) and I live happily with my iPhone ever after.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-1489905782424672401?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/1489905782424672401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=1489905782424672401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1489905782424672401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1489905782424672401'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/07/stress-testing-gone-wild.html' title='Stress testing gone wild'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2122250321642137068</id><published>2008-07-12T07:42:00.009-05:00</published><updated>2008-07-12T16:21:12.055-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>iPhone OS 2.0 - Apple Remote</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_3epJ1lFVKV4/SHkSZuZrq1I/AAAAAAAAAFE/cR3AJfeTsrw/s1600-h/iPhone2ScreenShot.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_3epJ1lFVKV4/SHkSZuZrq1I/AAAAAAAAAFE/cR3AJfeTsrw/s200/iPhone2ScreenShot.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5222225476074580818" /&gt;&lt;/a&gt;&lt;br /&gt;iPhone 2.0 update is released.  My first download application from App Store is the Apple Remote. It is an amazing replacement of my tiny white 3-button remote that come with the Mac, and this remote has even less buttons: zero! Your iPhone becomes the ultimate remote control for your iTunes.  It also supports Apple TV. Now I am tempted to by an Apple TV.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There is also one handy trick from &lt;a href="http://www.iphoneatlas.com:80/2008/07/10/tip-taking-screenshots-under-iphone-os-20/"&gt;iPhone Atlas&lt;/a&gt; for taking screenshot in this version.  Press both home button and sleep/wake button simultaneously, you will see a blink on the screen, and then you will see a screenshot in the Photos. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_3epJ1lFVKV4/SHkgCiquiqI/AAAAAAAAAFM/fxJJhl8RYNU/s200/photo-1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5222240470950644386" /&gt;&lt;div&gt;The new iPhone 2.0 update also allow you to write Chinese characters using finger. In general it is a very impressive update. I feel like having a new phone again.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-2122250321642137068?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2122250321642137068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2122250321642137068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2122250321642137068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2122250321642137068'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/07/iphone-os-20-apple-remote.html' title='iPhone OS 2.0 - Apple Remote'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3epJ1lFVKV4/SHkSZuZrq1I/AAAAAAAAAFE/cR3AJfeTsrw/s72-c/iPhone2ScreenShot.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-8037319102478429202</id><published>2008-07-05T08:44:00.010-05:00</published><updated>2008-07-06T06:21:47.603-05:00</updated><title type='text'>『長』不忍睹的金曲獎</title><content type='html'>十九屆金曲獎巨星雲集，但是還是太慢了。舞台上的幾個Golden Melody Award大字醜到不行。林宥嘉因為聽不到耳機裡的監聽聲音唱天天想你走音，不知道為什麼安排家家唱 I will always love you，是要紀念惠妮休斯頓嗎? 喜劇的天王高凌風跟康康在回音監聽不良的舞台顯得冷場，來賓頒獎人的致詞長又沒有人制止。 最大的得獎人在溫州開演唱會。不過後半段開始變快。張惠妹依然精彩，羅大佑李宗盛也是很有看頭，但是羅大佑鋼琴的音量竟然沒有開。這是哪一家舞台工程公司做的啊，怎麼會狀況這麼多？林宥嘉康康高凌風羅大佑這些表演者都是身經百戰的專業人員，卻被一個不紮實的舞台工程給打敗了。&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;得獎人立刻表演是蠻好的傳統。評審也很有眼光，選了一些我聽得懂的得獎人，不像以前總有幾個獎明顯是配合政府愛台灣。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;聽說東風作這個典禮是賠本的。辛苦了。若不是有這幾位天王天后撐著，只一場只能算是同樂會或是廟會吧。新聞局是不是可以增加一點預算呢? 流行音樂是台灣文化最後一個強項，不要這樣省吧。&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-8037319102478429202?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/8037319102478429202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=8037319102478429202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8037319102478429202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8037319102478429202'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/07/blog-post.html' title='『長』不忍睹的金曲獎'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-7492718507336772365</id><published>2008-06-25T19:57:00.006-05:00</published><updated>2008-06-27T06:02:48.613-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><title type='text'>Could you clean up your JavaFX tutorial on the web? :-)</title><content type='html'>JavaFX Script is not a matured language yet. If you look at the early tutorials, those code will not work in the latest development tools (OpenJFX on NetBeans). After a little research on the web, I learned that Sun doesn't seem want to maintain two different flavors of the same language.  They will retire the interpreted version of JavaFX.  If you are like me, who want to learn JavaFX from the web, you might want to print out a copy of &lt;a href="https://openjfx.dev.java.net/migration.html"&gt;this link&lt;/a&gt; by your side. This document lets you easily see the difference between old JavaFX and the new JavaFX.&lt;div&gt;In case you are still not sure if your example is interpreted or compiled, the JavaFX Complier gives annoyingly polite messages for old interpreted syntax:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Sorry, I was trying to understand a type specification but I got confused when I saw '*' which is an operator.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you are a tutorial author of the interpreted JavaFX, please help the community by updating it to the compiled version, or simply said "interpreted JavaFX" in the title, so people who learns them will understand the difference. For a few days I was wondering if my OpenJFX NetBeans plug-in was bad, then I learned I was using old syntax.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are a collection of interpreted JavaFX web sites. Those example will not work in NetBeans 6.1 OpenJFX.&lt;/div&gt;&lt;div&gt;&lt;a href="https://openjfx.dev.java.net/JavaFX_Programming_Language.html"&gt;https://openjfx.dev.java.net/JavaFX_Programming_Language.html&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/scripting/javafx/lc/part3/"&gt;http://java.sun.com/developer/technicalArticles/scripting/javafx/lc/part3/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-7492718507336772365?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/7492718507336772365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=7492718507336772365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7492718507336772365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7492718507336772365'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/06/clean-up-your-javafx-tutorial-on-web.html' title='Could you clean up your JavaFX tutorial on the web? :-)'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-7765751796196527658</id><published>2008-06-22T06:06:00.007-05:00</published><updated>2008-08-01T15:37:26.096-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans'/><title type='text'>JavaFX on Mac OS X with NetBeans 6.1</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;NOTE: This document is outdated. &lt;a href="http://midipig.blogspot.com/2008/08/its-almost-official-javafx-preview-sdk.html"&gt;The new JavaFX Public Preview SDK&lt;/a&gt; don't need any of the following steps.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Read through this only if you are still using the JavaOne 2008 preview version of JavaFX SDK.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;If you want to run JavaFX on Mac OS X using Netbeans 6.1 as the development tool, here are some tips to make it work. &lt;br /&gt;&lt;br /&gt;If you just follow the installation guide on OpenJFX site, and generate your first sample project, you will get an error similar to this when you try to build and run the project:&lt;br /&gt;&lt;br /&gt;Exception in thread "main" java.lang.NoSuchMethodError: com.sun.tools.javac.main.RecognizedOptions.getJavacFileManagerOptions(Lcom/sun/tools/javac/main/RecognizedOptions$OptionHelper;)[Lcom/sun/tools/javac/main/JavacOption$Option;&lt;br /&gt;&lt;br /&gt;It is very easy to resolve this issue. Simply follow &lt;a href="http://forums.java.net/jive/thread.jspa?messageID=277687"&gt;the steps&lt;/a&gt; posted in java.net Forums.&lt;br /&gt;&lt;br /&gt;1. Go to your home directory, cd .netbeans/6.1&lt;br /&gt;2. Edit the &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;build.properties&lt;/span&gt; file, find a line says &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;platforms.default_fx_platform.bootclasspath&lt;/span&gt;&lt;br /&gt;3. Add the JavaFX jar file in the beginning so it look like&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=";font-family:arial;font-size:13;"  &gt;platforms.default_fx_platform.bootclasspath=&lt;b&gt;/Users/(your_user_name_here)/.netbeans/6.1/modules/ext/compiler/lib/javafxc.jar&lt;/b&gt;: ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;4. Add &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;import javafx.ui.*&lt;/span&gt; in the beginning of your generated JavaFX source code.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;5. Restart Netbeans.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-7765751796196527658?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/7765751796196527658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=7765751796196527658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7765751796196527658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7765751796196527658'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/06/javafx-on-mac-os-x-with-netbeans-61.html' title='JavaFX on Mac OS X with NetBeans 6.1'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6914644729752374633</id><published>2008-06-21T06:30:00.007-05:00</published><updated>2009-06-26T21:04:16.812-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='Michael Jackson'/><title type='text'>My favorite Michael Jackson MV (was never on TV)</title><content type='html'>This song was part of the History album. The &lt;a href="http://www.youtube.com/watch?v=xB5X8wQNRak"&gt;clean version&lt;/a&gt; of music video shown on the TV at that time was ok, but not as intensive comparing to other Michael Jackson's work.  Today I realize there is actually another version that was never shown. The prison version fits the song perfectly, and it become one of my favorite MV now.&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/L2mwHJbB7xY&amp;amp;hl=en"&gt;&lt;embed src="http://www.youtube.com/v/L2mwHJbB7xY&amp;amp;hl=en" type="application/x-shockwave-flash" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6914644729752374633?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6914644729752374633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6914644729752374633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6914644729752374633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6914644729752374633'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/06/my-favorite-michael-jackson-mv-was.html' title='My favorite Michael Jackson MV (was never on TV)'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-1310436490848708543</id><published>2008-06-19T06:29:00.003-05:00</published><updated>2008-06-21T07:09:08.939-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>范曉萱的接班人</title><content type='html'>林宥嘉終於推出&lt;a href="http://www.im.tv/vlog/Personal/1505488/4437488"&gt;專輯&lt;/a&gt;了。終究他沒有讓人失望 。&lt;div&gt;不知為什麼我想到當年如日中天的小魔女范曉萱，忽然在左三圈右三圈愛洗澡最轟動的時候把頭髮剪掉開始唱自己的歌。雖然從此之後就開始與生活掙扎，但十年後回頭看，所有歌唱比賽都在挑戰她當時堅持的那些所謂不好賣的歌曲。&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;很高興林宥嘉的專輯跟別人聽起來不一樣。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-1310436490848708543?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/1310436490848708543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=1310436490848708543' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1310436490848708543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1310436490848708543'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/06/blog-post_19.html' title='范曉萱的接班人'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-1595714094266184676</id><published>2008-06-18T05:20:00.004-05:00</published><updated>2008-06-18T05:40:55.503-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Safari'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Firefox 3 on Mac OS X</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_3epJ1lFVKV4/SFjipsOIWSI/AAAAAAAAAE8/g8AMV04RYtA/s1600-h/Firefox3.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_3epJ1lFVKV4/SFjipsOIWSI/AAAAAAAAAE8/g8AMV04RYtA/s200/Firefox3.png" alt="" id="BLOGGER_PHOTO_ID_5213165774554290466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Today is the Firefox download day.  The new version has a new interface design and it matches the native OS look-and-feel.  Here is a side-by-side comparison of Safari 3 (top) and Firefox 3. It does not use the control from the operating system, but it feels quite close to the Mac OS X.  The new address bar has lots of functionality, but also it looks more complicated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-1595714094266184676?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/1595714094266184676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=1595714094266184676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1595714094266184676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1595714094266184676'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/06/firefox-3-on-mac-os-x.html' title='Firefox 3 on Mac OS X'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3epJ1lFVKV4/SFjipsOIWSI/AAAAAAAAAE8/g8AMV04RYtA/s72-c/Firefox3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5375016515901908357</id><published>2008-06-16T22:30:00.004-05:00</published><updated>2008-06-16T23:01:39.431-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Firefox 3: Download today!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.spreadfirefox.com/files/images/full-h-lockup-750x294_1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px;" src="http://www.spreadfirefox.com/files/images/full-h-lockup-750x294_1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Today (June 17 10:00am PDT, or 1pm Eastern time) is the Firefox 3 Download Day. Get Firefox from their &lt;a href="http://www.spreadfirefox.com/en-US/worldrecord/firefox3"&gt;download day&lt;/a&gt; web site. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-5375016515901908357?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5375016515901908357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5375016515901908357' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5375016515901908357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5375016515901908357'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/06/firefox-3-download-today.html' title='Firefox 3: Download today!'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-9104217364767735358</id><published>2008-06-11T17:00:00.005-05:00</published><updated>2008-06-11T22:52:36.035-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dow Jones'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Dow Jones doesn't get it on the new iPhone</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.telegraph.co.uk/connected/graphics/2008/06/09/dliphone209a.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px;" src="http://www.telegraph.co.uk/connected/graphics/2008/06/09/dliphone209a.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Dow Jones released a &lt;a href="http://money.cnn.com/news/newsfeeds/articles/djf500/200806101920DOWJONESDJONLINE000607_FORTUNE5.htm"&gt;comment&lt;/a&gt; on the new iPhone yesterday, stating that iPhone must avoid the "Razr Trap".  In the article, it says that the Razr was created as a high-end product. After the price reduction, Razr lost its attraction and Motorola don't make money anymore.&lt;br /&gt;&lt;br /&gt;In my opinion, comparing iPhone price cut with Razr is completely irrelevant.  The stories are different in the following ways:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;1. Razr's success is purely on its amazing form factor and a matching name.  Nothing more. iPhone has a good form factor too, but that is the last reason of being a success.&lt;br /&gt;2. The innovation of Apple's product is not immediately visible sometime. Simple because 3G iPhone looks like first gen iPhone doesn't mean it is lack of innovation.  &lt;div&gt;3. Like the game console industry, Apple bet on the income of the the software. The software is not limited to the things in the App Store, but also including the business solution possibilities.&lt;/div&gt;&lt;div&gt;4. Windows Mobile is an operating system. Google Android is an operating system.  iPhone is a full package of hardware and its optimized software. It is the last mile of the whole information roadmap of Apple. Comparing iPhone with Windows Mobile or Android is not quite correct.  Comparing iPhone with WM6 based HTC-Touch, maybe.&lt;/div&gt;&lt;div&gt;5. How many feature did you use inside your Razr phone? Most people just use those feature at most once (test one two three, ok its working, now what). iPhone user use more than 80% of its feature constantly. Other phone assume you aren't gonna use those feature anyway, so they provide minimum version of application and hope you can pay for more. iPhone comes with software that you can really use. Just try Razr's calculator and you'll know what I am saying.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Good job Apple.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Picture taken from &lt;a href="http://www.telegraph.co.uk/connected/main.jhtml?xml=/connected/2008/06/09/dliphone209.xml"&gt;Telegraph UK&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-9104217364767735358?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/9104217364767735358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=9104217364767735358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/9104217364767735358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/9104217364767735358'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/06/dow-jones-doesnt-get-it-on-new-iphone.html' title='Dow Jones doesn&apos;t get it on the new iPhone'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6152207549035026282</id><published>2008-06-09T22:16:00.003-05:00</published><updated>2008-06-09T22:21:14.746-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><title type='text'>這叫別的電話怎麼混啊</title><content type='html'>蘋果今天宣佈了新的&lt;a href="http://www.apple.com/iphone/"&gt;3G iPhone&lt;/a&gt;. 內建衛星導航 價錢只要一半 ($199) 合台幣六千出頭而已&lt;div&gt;這叫別的電話怎麼混啊 :~&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6152207549035026282?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6152207549035026282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6152207549035026282' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6152207549035026282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6152207549035026282'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/06/blog-post.html' title='這叫別的電話怎麼混啊'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5690690036919035525</id><published>2008-06-07T03:55:00.004-05:00</published><updated>2008-08-03T06:39:21.097-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaOne'/><title type='text'>JavaFX: Will it survive?</title><content type='html'>&lt;div&gt;Last summer, Sun announced the JavaFX project. JavaFX is a new platform with a new scripting-like language generally considered as a competition of Rich Internet Application (RIA) frameworks, such as Microsoft Silverlight, Adobe Flash/AIR, and all AJAX technologies.  These technology delivers client-side programs through the browser, thus offload the server from laying out the screen, and enhance the user interactivity.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The concept is nothing new, especially for Java platform. In 1995, Java applet was the world's first RIA framework. It was widely supported in both Netscape and Internet Explorer browser. Lots of business application rewrites into Java applet during the dot com age, and eventually all kinds of problem occurred.  Ten years past, most of the rich internet experiences are now delivered by Adobe Flash or AJAX. Java applet is no longer the favorite choice for rich applications. In my understanding, there are several reasons that cause the Java applet market share decline: &lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Java Runtime Environment (JRE) installation size.  The first generation browsers came with the Java Runtime. Even if they don't, the first generation of JRE is only around 2.4MB. Java 2 doubled the installation footprint, which is considered huge in that time. Java 1.4 doubled the Java 2 installation size, which is again considered huge even now.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Long startup time. This is probably one of the most complain about applet: Slow graphic user-interface (GUI) startup time.  Most of the time we see a gray box in the middle of the browser and the hard drive starts churning. Finally JRE is started, and then we see another delay for applet loading.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Painful GUI design. Java is a general purpose language.  Using Java for GUI layout is really tedious. Early version of JRE also suffer on lightweight component slowness. Lightweight component allows Java to draw its own buttons, labels and other GUIs instead of using the native peers.  Lightweight component itself is not a bad thing, but the first few generations of lightweight component don't use native code for acceleration. You can  literally see the components being drawn to screen one by one in the early Java 2 releases.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Bad client app design because Java has too many features. Lot of client-server application was directly ported into Java applet and eventually failed during dot com age.  Rich user experience means smooth interface response. Business logic need to be carefully designed to avoid code bloat on client side.&lt;/li&gt;&lt;li&gt;Lack of rich media support. It is require lots of effort to integrate media into applet with third party tools.  The standard way of media playing (JMF) has very limited support. &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;JavaFX together with Java 6 update 10 is Sun's answer to these issues. If you need to write an RIA in Java, JavaFX with Java 6 update 10 might be the best solution.  Base on what I read, here is how Java come back to RIA:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Java 6 u10 initial runtime download size is similar to the early Java 1.1 &lt;/li&gt;&lt;li&gt;Faster cold start time&lt;/li&gt;&lt;li&gt;Faster lightweight GUI&lt;/li&gt;&lt;li&gt;JavaFX scripting language is more friendly to GUI layout and tool support&lt;/li&gt;&lt;li&gt;Rich media support&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I don't know if JavaFX will become a popular RIA platform, but I am sure for my next Java GUI project, I will not directly code into Swing anymore. Using a different language gives developer a chance to think what should be in the GUI layer and what should be designed elsewhere. This should promote some good thinking for application design. I am sure JavaFX will survive, but I am still not sure if it will success.&lt;/div&gt;&lt;div&gt; &lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-5690690036919035525?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5690690036919035525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5690690036919035525' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5690690036919035525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5690690036919035525'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/06/javafx-will-it-survive.html' title='JavaFX: Will it survive?'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-7650469299602342166</id><published>2008-05-30T14:41:00.002-05:00</published><updated>2008-05-30T14:53:09.736-05:00</updated><title type='text'>Sharon Stone apologizes</title><content type='html'>After Dior dropper her ads in China, Sharon Stone finally realize what went wrong. She issued a &lt;a href="http://www.telegraph.co.uk/news/worldnews/asia/china/2048006/Sharon-Stone-apologises-over-China-earthquake-'karma'-comments-in-Dior-statement.html"&gt;statement&lt;/a&gt; to apologize to Chinese people.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-7650469299602342166?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/7650469299602342166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=7650469299602342166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7650469299602342166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7650469299602342166'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/05/sharon-stone-apologizes.html' title='Sharon Stone apologizes'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5133889882559092729</id><published>2008-05-27T06:55:00.005-05:00</published><updated>2008-05-27T07:21:13.090-05:00</updated><title type='text'>Sharon Stone owes human race an apology</title><content type='html'>&lt;span class="Apple-style-span"   style="  white-space: pre; font-family:'Lucida Grande';font-size:10px;"&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/DYoZEn9vlzE&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/DYoZEn9vlzE&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt; &lt;div&gt;Stone was in the Cannes Film Festival. During a quick interview with the media, she claims the earth quake in China is "Very interesting", "I'm not happy about the way that Chinese are treating the Tibetan.", "How should we deal with Olympics", and finally "Is that karma?"&lt;div&gt;Sharon Stone was one of the most honorable Hollywood star, but I am very disappointed about what she said this time.  Sharon Stone, was that what you were thinking when you saw 60,000 died?  What would you think if people say certain incurable disease is a karma?&lt;/div&gt;&lt;div&gt;As a Taiwanese, we always have issues with China. However, at this time, all we care is that the human race are suffering.  It is not a time for boundary and political views.  It is time for humanity.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-5133889882559092729?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5133889882559092729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5133889882559092729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5133889882559092729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5133889882559092729'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/05/sharon-stone-owes-human-race-apology.html' title='Sharon Stone owes human race an apology'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-8804890786706674647</id><published>2008-05-26T18:37:00.005-05:00</published><updated>2008-05-26T19:41:17.057-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='San Francisco'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='J2ME'/><category scheme='http://www.blogger.com/atom/ns#' term='Livescribe'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaOne'/><category scheme='http://www.blogger.com/atom/ns#' term='Sentilla'/><title type='text'>JavaOne 2008 紀念品</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3epJ1lFVKV4/SDtSzXm4MiI/AAAAAAAAAE0/Sci_j9LSiew/s1600-h/JavaOneStuff.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5204844836820628002" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://3.bp.blogspot.com/_3epJ1lFVKV4/SDtSzXm4MiI/AAAAAAAAAE0/Sci_j9LSiew/s200/JavaOneStuff.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;今年參加了JavaOne 2008。我從十年前就想去JavaOne，終於今年我們的好公司同意讓我去。老闆真是英明。當然我就像是觀光客一樣亂買了一些紀念品，包括Java磁鐵，Java原子筆，Java手電筒，Java茶杯，Java USB Hub，以及Java夾克，Java Polo衫等等亂七八糟的東西，還有附帶的Java背包，Java圓領衫等等，簡直可以說土到不行。但管他的，難得有機會來一次當然要採購一下。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;講一些比較有營養的。今年的焦點展覽裝置有兩個。一個是Sentilla PERK (Pervasitve Computing Kit)，另一個是Livescribe Pulse。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sentilla PERK是一個Java ME CLDC 1.1的裝置，小小一個大概跟鳳梨酥差不多大，不是手機，沒有喇叭，但是有無線通訊的功能，還有溫度與三軸加速感應器(就是像Wii或iPhone那種，搖一搖就有反應)。整個開發套件包括兩個感應器小電腦，一個USB Gateway，一個USB韌體燒錄器，還有一套軟體開發工具(Eclipse平台)。Sentilla在JavaOne會場各角落都佈署了感應器，藉由二氧化碳濃度與溫度推測每場演講人的人氣指數。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Livescribe Pulse是一支有攝影機的筆，當這支筆寫在印有小點點的紙上，攝影機會紀錄座標，因此所有在紙上寫的都可以傳輸到電腦裡索引，同時可以同步錄音。因此事後只要點一下當時的筆跡，就可以聽到當時的內容。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Livescribe Pulse其實已經不是新技術了。早在七八年前就知道專利擁有人在尋找買主，好幾家公司都投入生產，包括知名的羅技 但是都沒有做起來。這一次會成功嗎? 我雖然稍有保留，但認為值得期待。原因是生產公司選擇了開放的平台，讓程式開發者參與，因此買這支筆的人可以期待擴充新的功能，或許這樣可以讓買家有比較多的興趣。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;圖片上從左上角逆時鐘(往下轉右再往上)各項目介紹如下:&lt;br /&gt;Sun出版商的書摘(蠻好的 看完我就去訂書了)&lt;br /&gt;Effective Java第二版新書(作者現場舉辦簽書會 我當然也跑去簽了)&lt;br /&gt;&lt;br /&gt;JavaOne省紙筆記本(真的很省紙 從來沒有人給那麼小本的 我記滿到最後一頁)&lt;br /&gt;JavaCard 3.0讀卡機&lt;br /&gt;研討會識別證(JavaCard 2.0) 剩下的酒票(每天早午各用一張飯票 最後一晚可用兩張酒票 飯超難吃)&lt;br /&gt;研討會行程表與會場地圖&lt;br /&gt;舊金山市Muni七日地鐵巴士票&lt;br /&gt;Java環保原子筆&lt;br /&gt;Eclipse Equinox紀念衫(很難拿 要跑去八個攤位蓋章才能領一件)&lt;br /&gt;JAVA+YOU主題紀念衫(每人一件)&lt;br /&gt;Java Polo衫(大號太大)&lt;br /&gt;Java夾克(很實用 因為我衣服沒帶夠 舊金山又冷風又大)&lt;br /&gt;Pulse筆記本&lt;br /&gt;Livescribe Pulse智慧筆&lt;br /&gt;JavaOne光碟DVD (NetBeans 6.1, GlassFish, etc)&lt;br /&gt;AMD與Conversal等展示光碟&lt;br /&gt;Sentilla Perk感應無線小電腦&lt;br /&gt;甲骨文水壺&lt;br /&gt;JavaOne紀念背包&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-8804890786706674647?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/8804890786706674647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=8804890786706674647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8804890786706674647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8804890786706674647'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/05/javaone-2008.html' title='JavaOne 2008 紀念品'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3epJ1lFVKV4/SDtSzXm4MiI/AAAAAAAAAE0/Sci_j9LSiew/s72-c/JavaOneStuff.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-187751046265259593</id><published>2008-05-19T21:21:00.005-05:00</published><updated>2008-05-20T06:48:07.282-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='J2ME'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaOne'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans'/><title type='text'>NetBeans 6.1: First Impression</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.netbeans.org/images/v5/nb-logo2.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px;" src="http://www.netbeans.org/images/v5/nb-logo2.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;I got a copy of &lt;a href="http://www.netbeans.org/"&gt;NetBeans&lt;/a&gt; 6.1 from JavaOne.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;About 6 years ago, when I downloaded JDK 1.3, Sun told me there is a free IDE bundled with it. Sure, why not, I thought.  I choose to download the bundled JDK1.3.1 + NetBeans pack.  That became my second-worst Java download experience in my whole life. (The worst experience is the Project Looking Glass bundled with JDK 6, which I uninstalled &lt;a href="http://midipig.blogspot.com/2007/01/java-sdk.html"&gt;in a just a few minutes&lt;/a&gt; after download.)  I don't know how to describe the NetBeans 3 experience.  At that time I've been using UltraEdit for quite a while.  There is nothing I can't do with UltraEdit plus a command line compare to NetBeans 3, plus the sluggish "lightweight" Swing implementation on JDK 1.3.1. The whole experience is really a bad one, and I wondering why Sun kept saying this is the best IDE ever.  I mean, have they ever use the Visual Studio before?  I almost swear I will never use NetBeans again in my entire career, unless my job force me to use it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the mean time IBM open-sourced the groundbreaking Eclipse IDE inspired by their VisualAge product line.  It is a smart mix of native and Java layer; It has the native user response and experiences, while still have the simplicity and extensibility of Java. In my opinion at that time, Eclipse technologies are at least five years ahead of NetBeans.  Those advances are not just about some conceptual differences, but all the details too.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Six years later, I finally decide to give NetBeans another chance. The reason is because I saw Tor Nobye's JavaOne demo with James Gosling and realize NetBeans has grown up now.  I happened to work on a Java Micro Edition project for my work recently, and NetBeans plus the Mobility pack seems like the perfect chance for my first impression on NetBeans 6.1.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The installation of NetBeans 6.1 is very simple.  It has a platform-specific installer for both Mac OS X and Windows (those are the only platforms I tried). The start up time is quite good, actually it takes about the same time as Eclipse on my machine. The user interface is pretty neat, way much better than the nightmare version 3. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Mobility pack contains the famous Visual Mobile Designer. This is one of the best screen flow design tool for Java ME.  It works around the tricky round-trip code generation issue by putting the generated code in a read-only region, so new code will not mess up the generated code.  You still have the freedom to write code outside the generated region.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One click on the Run button, the compiled code is deployed to the emulator, and the emulator is launched. Unit testing on NetBeans is as simple as using Eclipse or Microsoft tools.  The jar and jad files are generated under the dist directory automatically after project is built.  Simply upload those files to a web site, and your MIDP application is ready for deployment. The Mobility pack has a manifest tool to assist you to select the JSR and MIDP/CLDC profile requirement, and the packaging are very easy to use.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My goal is to build a web URL monitoring panel. The tool sends concurrent http requests to the web site I want to monitor, and display the response on the phone. This is a very simple application. I had it done in two days using the brand new tool. However, the development is not totally painless.  I found that NetBeans provided a Swing-like mobile TableItem which supports the backing TableModel.  I was very excited about this and decided to use it on my first project using Mobility pack.  When I update the model and fire an update event, the screen does not refresh on the standard Mobility pack emulator.  I need to navigate around to see the refreshed screen. I tried the same thing on Sony Ericsson's development tool, which is a modified Sun's WTK 2.5, and that emulator works fine.  I see my screen refreshed after table model change and fire the event. Since the manufacture's emulator works for me, I moved the finished project into the device.  Guess what? TableItem is not working in the real device!  It partially works in Mobility emulator, works in the manufacture's emulator, but does not work in the real device. I end up rewrite all my TableItem code into StringItem. Of course, the Z310 phone supports StringItem just like all Java phone, and no need to fire any events to make it refresh.  At this time, I will stay away from NetBeans implementation of mobile TableItem. It is definitely not reach production quality for sure.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is nice to know that NetBeans is now really a usable tool. I managed to finish a project completely in NetBeans without switching back to other IDE.  Six years of hard working, now NetBeans is getting much closer to it's competitors. Other than bit by TableItem, the first impression on NetBeans 6.1 is quite good.  It will be my Java Mobile IDE from now on.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-187751046265259593?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/187751046265259593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=187751046265259593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/187751046265259593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/187751046265259593'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/05/netbeans-61-first-impression.html' title='NetBeans 6.1: First Impression'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-3826468708242563308</id><published>2008-05-10T16:04:00.002-05:00</published><updated>2008-05-11T00:05:49.107-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='San Francisco'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Blu-ray'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaOne'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>JavaOne 2008 Conference (3) - Consumer Java</title><content type='html'>&lt;span style="font-size:85%;"&gt;Java has been there for more than a decade. The JavaOne 2008 conference shows that the technology is maturing, new ideas keep coming, and lots of future opportunities are still finding their ways. Here are some of my notes on JavaOne 2008 for Consumer and Desktop Java.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Blu-ray is the new standard&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;The war is over. Blu-ray is the high-definition storage media standard. This means every single player from now on will have a Java VM in it. On the opening day, rock star Neil Young releases his music collection on Blu-ray. Usually people buy collection album several times because the second collections contains a few new songs. With Blu-ray (BD-live), you can simply purchase the extra inside the player. Digital content goes into another era, so are the developers. There are open-source communities for BD-J platform that enable regular developers to write content for home-made Blu-ray discs. It is definitely cool to write code my home video, or is it?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Java card runs Servlet and GCF&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Strange idea but seems work pretty well. Java card 3.0 can accept http request inside the card. It sounds crazy in the beginning to run Servlet inside a credit-card like thing. This opens a lot of possibilities since the client side doesn’t need to implement or deploy any rich client code just for logging in the user, and http can also provide rich experience if it is well-designed. Another surprise is the generic connection framework (GCF) originated from the J2ME CLDC world. The card can open another connection using the connection framework, so the card can be used as a streaming mediator. For example, the card itself can be used as a stream decoder so the streamed video can be viewed only when the card is inserted, and the algorithm never leaves the card.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;CLDC proved success – not just for phones&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Thanks for hardware innovation. Things ran only in a smart phone now runs inside a plastic card. This year the show devices include a pen that runs J2ME CLDC, and motion/hear sensor that has a JVM inside it. Java was designed for embedded devices, and seems it is still going to be that way.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;U.S. mobile app market is tightly controlled. Asia is the market of freedom&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;In the U.S., 95% of mobile market is controlled by the service provider. Another 4% are influence by the service provider. In other word, only 1% users have the choice of their own mobile solution. Asian market has less control from service provider, and the mobile application market is way bigger than the U.S. Freedom boosts the economy. I really hope U.S. service providers could give more freedom to the application creators. Let’s see how Apple doing after June.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Desktop Java - JavaFX&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;JavaFX is still trying to prove that Java technology is not dead inside a browser.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Java SE 6 Update 10 (a.k.a. 6u10)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Java 6 u10 is highly anticipated, and might be the only hope for JavaFX. Java 6 u10 will download only the minimum kernel (about 4MB) to get user started. Compare to 14MB of full JRE, I think this size is much more attractive to the end user, as it is a little closer to Flash download size (2MB).&lt;br /&gt;Finally Mac is officially supporting Java 6, and MacBook Pro is everywhere in the crowd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-3826468708242563308?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/3826468708242563308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=3826468708242563308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3826468708242563308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3826468708242563308'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/05/javaone-2008-conference-3-consumer-java.html' title='JavaOne 2008 Conference (3) - Consumer Java'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-3235349079378515866</id><published>2008-05-10T15:57:00.004-05:00</published><updated>2008-05-11T00:06:55.660-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='ejb3'/><category scheme='http://www.blogger.com/atom/ns#' term='jee'/><category scheme='http://www.blogger.com/atom/ns#' term='j2ee'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaOne'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>JavaOne 2008 Conference (2) - Enterprise Java</title><content type='html'>Java has been there for more than a decade. The JavaOne 2008 conference shows that the technology is maturing, new ideas keep coming, and lots of future opportunities are still finding their ways. Here are some of my notes on JavaOne 2008 about Enterprise Java.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Traditional EJB Container will disappear&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Currently, J2EE container has two flavors: The web container, and the Enterprise JavaBean (EJB) container. Tomcat is the most famous web container, and lots of the enterprise vendor sell the “application server” as the combination of both EJB and web container. Customers usally pay entry level charge for the “express edition” that gives you the web container only, and pay premium for the “enterprise edition” that can do the full J2EE stack, including EJB. Despite of Remote access and lookup, EJB is simple a Java object that has the following features:&lt;br /&gt;-Lifecycle is managed by container&lt;br /&gt;-Dependency injection by the container&lt;br /&gt;-Object allocation is managed by container&lt;br /&gt;-Access container managed resources, such as listeners, data source, connectors&lt;br /&gt;In the next version of EJB, these feature can be included as part of the web container, so a web container is also a light EJB container. With the addition of annotation, there is no more need for define a local EJB separately (which is a bad idea from day one anyway). I think this will help acceptance of EJB, as a way of providing services. Java Persistence API already provides an alternative way of ORM aside from Entity EJB without containers. With this EJB 3.1 annotation change, it melts the boundary of the Express Server and the full Enterprise Application Server.&lt;br /&gt;I don’t think EJB model itself will be a legacy, but the idea of charging premium for EJB container might no longer be true.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;JSF tools are mature&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;JavaServer Faces is designed to be a good model for tooling. However, the tool support of JSF was horrible for quite a while. Rational Application Developer didn’t get it right. Earlier version of NetBeans didn’t do too good either. This year watching Oracle’s demo, looks like the JavaServer Faces are quite mature in the tooling world now. Not only Netbeans support on JSF is great, but also other part of the community is improved. Oracle’s tool is based on Eclipse and the JSF works. I hope IBM Rational can get them right in the future.&lt;br /&gt;&lt;br /&gt;A side note, seems all enterprise company has moved their IDEs to Eclipse now: IBM, Oracle, CodeGear (Borland), Oracle-BEA, etc. Sun is focusing on the NetBeans of course, and looks like they are doing well too. I hate to have two IDEs for the same language in my desktop and I always choose Eclipse. However, I don’t mind to have an IDE for a different language, such as Ruby or JavaScript. NetBeans got me for this reason, not as a Java IDE (sorry).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Richer web experience is the trend, new security concerns rise&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Ajax, Flash/AIR, JavaFX, and Silverlight make the web client market so busy, and consider all of them have their mobile variations. For so many years no one beat the Flash on rich web experiences, until Google shows how Ajax can serve the same purpose in a consistent user experience. Every year Sun tries to make Java come back to rich web experience. This year it is wrapped under JavaFX. Rich web experiences is not going away, and new view of web security need to be considered. The traffic between server and rich client might carry more information than you think, and the rich client might contain more business logic than the plain old HTML page. Hackers can have more fun to read the code now because the client is rich.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Web 1.0 technology is still the mainstream&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;While many people care about SOA and EJB, the topic that attracts most audience are still the web technology. Scalability is an apparently interesting topic. The comparison between web frameworks are very popular. Struts 1, Struts 2, JSF RI, JSF MyFaces, Spring MVC, they all have their pros and cons. Some of them excel others significantly in lowers load. Some of them are fast, but with some unpredictable pauses from time to time which might cause DoS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-3235349079378515866?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/3235349079378515866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=3235349079378515866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3235349079378515866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3235349079378515866'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/05/javaone-2008-conference-2-enterprise.html' title='JavaOne 2008 Conference (2) - Enterprise Java'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-4293115612994187011</id><published>2008-05-10T15:44:00.003-05:00</published><updated>2008-05-11T00:08:15.512-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='San Francisco'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaOne'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-core'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>JavaOne 2008 Conference (1) - Core Java</title><content type='html'>Java has been there for more than a decade. The JavaOne 2008 conference shows that the technology is maturing, new ideas keep coming, and lots of future opportunities are still finding their ways. Here are some of my notes on JavaOne 2008 on Core Java track.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Concurrency and Garbage-Collection&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;The discussion about Concurrency and Garbage-Collection is even hotter. They are popular for different reasons. Concurrency becomes a focus because of the population of multi-core chips. Ideally a multi-core chip should be able to execute our threaded code nicely in each core. However, in reality it is usually not the case. Even worse, the locking mechanism in modern virtual machines (doesn’t matter Java or .net) might become a bottleneck in the multi-core era. New building blocks are proposed in the conference. One example is the new keyword “atomic” to create a code block that can be committed or rolled-back. Intel also presented a hardware solution to support this atomic construct. Other system vendor has different opinion about this new proposal. Lock is difficult, but atomic might be even more difficult when real problem occur and debugging is needed.&lt;br /&gt;&lt;br /&gt;Garbage-Collection (GC) is always a hot topic in Java. Every version of JRE has major improvement on Garbage-Collection. The non-deterministic nature of the GC makes Java VM a dangerous machine. With the modern 64-bit addressable environments, the problem is even worse. When JVM went into stop-the-world GC-cycle while under load, denial-of-service occurs. Real-time Java solves this issue by sacrificing the throughput. However, for enterprise JVMs with huge heap size, the stop-the-world problem remains due to heap fragmentation. Oracle-BEA announced the enterprise VM that has deterministic GC. I am very curious how it will perform running for weeks.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Hardware vendor’s involvements&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;I would think Java VM is an abstraction of execution environment that does not rely on any lower platform. Seems Java is significant enough nowadays that the hardware vendors are considering providing special instruction sets for the VM to improve their performance. I think the major reason for this to happen is the introduction of hypervisor on server virtualization. Hypervisor allows JVM and hardware (virtually) communicate in a different way. AMD CPU will provide a way to communicate with the JIT compiler when the JIT compiled binary does not perform as expected. Intel is proposing a transactional memory that allows Java to have a new way for dealing with concurrency. These kind of collaboration was usually been seen in Operating System level, such as AMD-Solaris, Intel-Mac OS X, or Wintel. It is nice to know that hardware vendors (other than Sun and ARM) want to accelerate Java platform too.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Instrumentation enhancements – VisualVM, JMX&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;I always feel Sun’s JVM monitoring technology fell behind IBM’s JVMs for at least five years. IBM’s JVM 1.4 has the whole stack of monitoring tool (through the expensive Tivoli). Seems the open community catches up quickly. Java 6 comes with instrumentation without performance impact or extra configuration. New JMX enhancement is coming up to allow single entry point for clustered environments.&lt;br /&gt;&lt;br /&gt;VisualVM is a very sweet addition to the instrumentation world. It allows you to monitor your JVM performance in almost every aspect. It is for all Java VMs (well, all versions of Sun’s SE JVMs, to be specific), not just for ‘Enterprise’ containers. This means, it doesn’t cost you any money to see how your Virtual Machine is doing. No more guess using Windows Task Manager. Seems VisualVM will solve all the headaches.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Annotation explosion&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Java 5 introduced a lot of feature in the language. Lots of features create more trouble than they were originally designed (such as Generics, Enum, and auto-boxing). A book is revised because of these troubles (Effective Java 2nd Edition; which is sold in JavaOne 2008 and the great Josh Bloch is signing it in person). I guess the only feature that does not cause as much confusion is the annotation. This year I see annotation everywhere. Sometimes I wonder how much is too much. I see a bad trend to use annotation to replace interface. The common pitch is “You don’t have to declare interface anymore.” This happens in the new JMX, the new EJB and many other places. Interface is one of the good reasons why Java programmers have better design concept than the programmers of other similar languages. I wonder why people would think it is an accomplishment by getting rid of the design.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Fragmented visions – modules, and “language improvements”&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;In my previous blog (in Chinese), I worried that the Java community will destroy themselves due to fragmented visions. Seems this is still ongoing. Despite of the matured OSGi framework, Java module system is under heavy development. It is assumed to be part of the Java 7. The new Java module system will be able to run OSGi bundle as a second-class citizen in the Java module system. OSGi already have the solution of lifecycle, versioning, modularization, and services. Java module system focuses on the first three, but not the services. It seems that these two groups still work separately, each claim they are focusing on different aspect of the same things.&lt;br /&gt;&lt;br /&gt;Ever since Java 5 introduced the Generic, the community was excited about new language ideas. It seems that lots of people want to transform Java into the ultimate language – a programming language that has the good stuff of every other language. If that becomes true, Josh Bloch needs to write the third edition of Effective Java, and I might need to stand in the line to get the third edition signed three years later. Wait. Maybe that will not happen. Maybe when people realize how polluted Java is after all the ‘new idea’ introduced, people will simply move away from Java and move on to other language that really does the job better. Not long ago, fragmented visions collapse the C++ community and the creator (the uppercase AT&amp;amp;T) has no control over it. Will this happen when Java 7 releases with all new language keywords? Maybe Java 6 u10 is the last Java that the community will use?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;New players: Scala, JRuby&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;Java platform is not about Java language anymore. Groovy got some attention a few years ago, and this year definitely JRuby is the hot thing on dynamic language. Surprisingly NetBeans become the best IDE of Ruby language. (Yes, it works with the native Ruby too.). JRuby sessions are so popular, and more people start doing Rail on their J2EE containers.&lt;br /&gt;Scala is another language that people talking on the hallway. This is the first functional language that is build on top of Java’s runtime in the beginning. I have no idea what this is yet, but it seems this will be another cool stuff next year.&lt;br /&gt;I didn’t notice there is a company called Azul systems that is good in Java appliances until JavaOne 2008. It seems that they are working on a lot of hard platform stuff.&lt;br /&gt;&lt;br /&gt;These are the things I saw on the Core Java side base on my limited knowledge.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-4293115612994187011?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/4293115612994187011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=4293115612994187011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4293115612994187011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4293115612994187011'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/05/javaone-2008-conference-1-core-java.html' title='JavaOne 2008 Conference (1) - Core Java'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2951149385578153946</id><published>2008-05-06T06:05:00.007-05:00</published><updated>2008-05-26T19:46:40.915-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='movie'/><title type='text'>看到大爛片 Snake on a Plane</title><content type='html'>電視上正在播出『飛機上有蛇』。這部電影的大意是說，在飛機上 有蛇。請來了大牌黑人演技派演員山謬傑克遜擔任乘客兼警探，很認真的在飛機上展開人蛇大戰。電影開始沒多久蛇就跑出來了，乘客當然尖叫開始亂跑讓蛇開始興奮咬人。為配合電影需要，本機上的蛇專咬人臉或吃眼球以方便捕捉畫面。此時拉丁美女空服員與黑人警探聯手救人，而白人金髮美女則不意外的負責尖叫並尋找走失的吉娃娃誤闖蛇窩，最後靠身強體壯的華人背負逃出。然後黑人饒舌歌手也加入打蛇的行列，奇怪的是蛇好像專咬白人，用咬得不夠看，乾脆跑出大蟒蛇整個人從頭活吞。忽而機長不見了，山謬傑克遜和拉丁美女空服員只好跑去開飛機。飛到平穩以後機長又不知道從哪裡出現，這樣才可以讓山謬傑克遜再跑回機艙去救人。中間還穿插白人美女替無辜小弟弟吸吮毒液的橋段以增加畫面美觀。最後山謬傑克遜撐不下去了，剛好機長也死掉了，於是山謬傑克遜就跟饒舌歌手一起開飛機迫降。&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/22171124-2951149385578153946?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2951149385578153946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2951149385578153946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2951149385578153946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2951149385578153946'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/05/snake-on-plane.html' title='看到大爛片 Snake on a Plane'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6883141396506725157</id><published>2008-04-27T07:24:00.004-05:00</published><updated>2008-04-27T07:31:58.701-05:00</updated><title type='text'>幾吋才夠大? 電視啦</title><content type='html'>&lt;a href="http://s3.carltonbale.com/resolution_chart.html"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px;" src="http://s3.carltonbale.com/resolution_chart_small.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;看到一篇文章 列出選擇數位電視的時候要買多大的才適當&lt;br /&gt;&lt;br /&gt;客廳如果不夠長 買到大電視也只能近看 太近就會看到顆粒&lt;br /&gt;&lt;br /&gt;&lt;a href='http://s3.carltonbale.com/resolution_chart.html'&gt;1080p - Does it matter?&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6883141396506725157?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6883141396506725157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6883141396506725157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6883141396506725157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6883141396506725157'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/04/blog-post_27.html' title='幾吋才夠大? 電視啦'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6383912037402436269</id><published>2008-04-18T09:52:00.007-05:00</published><updated>2008-04-18T10:54:57.709-05:00</updated><title type='text'>辦公室的電子郵件文化</title><content type='html'>沒有電子郵件就沒有辦公室。沒有電子郵件就沒有工作。&lt;br /&gt;對大多數的上班族來說，電子郵件就像日光燈與冷氣一樣重要。辦公室也因為這樣的科技而衍生了不同的文化。這個東西看起來簡單，但是有很多地方電子郵件並不如你想像的那樣。&lt;br /&gt;&lt;br /&gt;1. 電子郵件不具有時間性。&lt;br /&gt;   雖然一封信在幾秒鐘之內就可以傳過半個地球，但這並不代表對方要在螢幕前等你的信。所以在信上加註『最急件』根本就是搞不清楚狀況。當你決定用電子郵件時，就要有做好對方可能到明年才看信的準備。有急事? 走去跟他說就好啦，不然就打個電話嘛。害羞喔。&lt;br /&gt;&lt;br /&gt;2. 電子郵件可以證明你曾經說了什麼。&lt;br /&gt;   對於那些經常忘記你交代的事情又不認帳的同事，至少可以用文件副本找個證人幫忙。但是要注意，那種整天在辦公室裡說『我有寄給你e-mail』，『是你自己不看e-mail』的同事，通常蠻惹人厭的。&lt;br /&gt;&lt;br /&gt;3. 不要濫用小旗子&lt;br /&gt;   不要什麼信都附上『最重要』的旗號。全部都最重要 就等於 全都不重要。&lt;br /&gt;&lt;br /&gt;4. 不要轉寄&lt;br /&gt;   Fw: Fw: Fw: Fw: Fw: 轉寄: 轉寄: 轉寄: 轉寄: 笑話&lt;br /&gt;   沒有創意沒有關係，沒有創意還讓大家都知道，唉。&lt;br /&gt;&lt;br /&gt;5. 非要轉寄信件，麻煩加一兩句轉寄的原因或心得&lt;br /&gt;   至少我了解你在想什麼，為什麼要我看這篇東西。&lt;br /&gt;&lt;br /&gt;6. 不要留下小辮子&lt;br /&gt;   不要因為憤怒而發送信件罵人。會有人存起來等將來的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6383912037402436269?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6383912037402436269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6383912037402436269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6383912037402436269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6383912037402436269'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/04/blog-post.html' title='辦公室的電子郵件文化'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5743235012198020325</id><published>2008-03-22T10:40:00.004-05:00</published><updated>2008-03-23T08:03:04.847-05:00</updated><title type='text'>今天MSN的開場白</title><content type='html'>平常都會看到大家在MSN上面放自己今天的一句話 但很少有一天全部人都放同一個主題&lt;br /&gt;目前看到的標題有&lt;br /&gt;&lt;br /&gt;"八年"&lt;br /&gt;"We made it"&lt;br /&gt;"國破山河在 台灣馬上來"&lt;br /&gt;"天佑台灣"&lt;br /&gt;"一切都會馬到成功 苦盡甘來的"&lt;br /&gt;"A Hope Emerges From a Change"&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/22171124-5743235012198020325?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5743235012198020325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5743235012198020325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5743235012198020325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5743235012198020325'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/03/msn.html' title='今天MSN的開場白'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-1510071227040739368</id><published>2008-03-20T05:57:00.002-05:00</published><updated>2008-03-20T06:19:49.639-05:00</updated><title type='text'>族群分化拖垮總統候選人</title><content type='html'>美國的總統候選人這兩天因為他的牧師發表了&lt;a href="http://www.youtube.com/watch?v=hAYe7MT5BxM"&gt;咒罵白人的演說&lt;/a&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/22171124-1510071227040739368?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/1510071227040739368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=1510071227040739368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1510071227040739368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1510071227040739368'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/03/blog-post_20.html' title='族群分化拖垮總統候選人'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2960855090205672525</id><published>2008-03-14T06:15:00.003-05:00</published><updated>2008-03-14T06:56:53.996-05:00</updated><title type='text'>警察打人! 立委濫權!</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_3epJ1lFVKV4/R9pn_bjz1MI/AAAAAAAAAEs/PYyX6Agb_NA/s1600-h/turaround.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_3epJ1lFVKV4/R9pn_bjz1MI/AAAAAAAAAEs/PYyX6Agb_NA/s200/turaround.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5177565061043180738" /&gt;&lt;/a&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/22171124-2960855090205672525?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2960855090205672525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2960855090205672525' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2960855090205672525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2960855090205672525'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/03/blog-post.html' title='警察打人! 立委濫權!'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3epJ1lFVKV4/R9pn_bjz1MI/AAAAAAAAAEs/PYyX6Agb_NA/s72-c/turaround.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-3533737440181878413</id><published>2008-03-11T07:11:00.003-05:00</published><updated>2008-03-11T07:34:25.801-05:00</updated><title type='text'>Stop the Mouse Roll-Over!</title><content type='html'>在台灣網站上經常看到的JavaScript OnMouseOver互動，就是當滑鼠移經某個項目的時候，會忽然跳出一個下拉式選單。例如知名的&lt;a href="http://udn.com/NEWS/main.html"&gt;聯合新聞網&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;只憑著mouse roll-over來決定使用者的流程，這是非常不好的設計。如果你稍微留意一下，在任何一家知名的作業系統使用者介面裡，你從來不會看到mouse roll-over用在重要的動作上面。一般來說頂多是用來跳出泡泡以提示用戶，而且就算是用來跳出泡泡，也會有一秒鐘的停留延遲。你不妨試試在聯合新聞網上隨便用滑鼠晃晃，咦，我明明在看頭條新聞的，怎麼一晃就變成追星族八卦了，我要怎麼才能回去剛剛的地方呢？瀏覽器回頭也回不去啊。&lt;br /&gt;&lt;br /&gt;使用流程混亂還不是最大的問題。最糟的是在行動裝置裡面從來不反應mouse over(因為沒有滑鼠)，所以所有針對滑鼠指標移動的東西都要寫兩套，一套用在桌子，一套用在掌上。何苦這樣去設計一個吃力不討好的互動選單呢？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-3533737440181878413?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/3533737440181878413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=3533737440181878413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3533737440181878413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3533737440181878413'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/03/stop-mouse-roll-over.html' title='Stop the Mouse Roll-Over!'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-4959689150872762920</id><published>2008-03-06T22:00:00.003-05:00</published><updated>2008-03-06T22:05:43.101-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>iPhone開發工具</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_3epJ1lFVKV4/R9Cw_qRNdfI/AAAAAAAAAEk/FAMPzv40880/s1600-h/sdk.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/R9Cw_qRNdfI/AAAAAAAAAEk/FAMPzv40880/s200/sdk.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5174830579573421554" /&gt;&lt;/a&gt;&lt;br /&gt;九個月後，iPhone SDK終於開放下載了。這是我幾年以來最期待的一個平台。世界的未來有希望了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-4959689150872762920?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/4959689150872762920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=4959689150872762920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4959689150872762920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4959689150872762920'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/03/iphone.html' title='iPhone開發工具'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3epJ1lFVKV4/R9Cw_qRNdfI/AAAAAAAAAEk/FAMPzv40880/s72-c/sdk.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-8254054619774688487</id><published>2008-03-02T22:27:00.011-05:00</published><updated>2008-03-03T23:05:03.983-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kingston'/><category scheme='http://www.blogger.com/atom/ns#' term='Jamaica'/><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Kingston Memory</title><content type='html'>在這之前，『Kingston Memory』是我最常購買的半導體產品，從今天開始，Kingston Memory同時也是我在&lt;a href="http://en.wikipedia.org/wiki/Jamaica"&gt;牙買加&lt;/a&gt;首都&lt;a href="http://en.wikipedia.org/wiki/Kingston%2C_Jamaica"&gt;京斯頓&lt;/a&gt;的回憶。&lt;br /&gt;&lt;br /&gt;我必須老實說，我小時候地理很爛。在來美國之前我一直以為牙買加是一個非洲國家。一直到搬到南部之後才知道原來牙買加就在&lt;a href="http://en.wikipedia.org/wiki/Caribbean_Sea"&gt;加勒比海&lt;/a&gt;，離我家不到兩個小時的飛機。&lt;br /&gt;&lt;br /&gt;一年多前在耶誕夜窮極無聊跑去運動，遇到一位跟我一樣無聊的牙買加朋友&lt;a href="http://www.myspace.com/watchthablaze"&gt;楊立章&lt;/a&gt;，因為個性相近(都有點悶)所以很快就變成很好的朋友。認識了好一陣子才知道他有八分之一的華人血緣，才知道原來華人在牙買加算是前三大族裔。去年他決定回牙買加讀書順便幫忙家族的事業，我也因為他的關係對這個國家開始有些興趣。&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_3epJ1lFVKV4/R8zCW5pPS6I/AAAAAAAAAEM/bP9e2PXVP3c/s1600-h/DSC00007.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_3epJ1lFVKV4/R8zCW5pPS6I/AAAAAAAAAEM/bP9e2PXVP3c/s200/DSC00007.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5173723770628557730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;上星期四下午搭上往Kingston的飛機，穿過古巴，看到雲的影子映在加勒比海的湛藍海面，不到一個半小時就到了牙買加。海關看到我這個背包客應該也沒有什麼好查的，就問了有沒有電子產品要留在牙買加的，若沒有就可以走了。一出機場馬上就有計程車司機拉客，很像台南火車站。楊立章與他的表弟一起來接我，第一站就是去肯德基。&lt;br /&gt;&lt;br /&gt;到牙買加吃美國速食，有沒有搞錯啊? &lt;br /&gt;&lt;br /&gt;我一開始也是這樣想。要知道，肯德基是牙買加最大的速食連鎖店。只要肯德基一出現，周圍的其他美國速食店就紛紛關門大吉，連速食巨人麥當勞都撐不下去。牙買加的雞，不像美國是用荷爾蒙種出來的，所以肉質比較結實。除了肯德基，牙買加最夯食品是烤酥皮牛肉餡餅(&lt;a href="http://www.jamaicans.com/cooking/cakes/patty.shtml"&gt;Beef Patty&lt;/a&gt;)，有點類似西點麵包店的咖哩餃但熱而酥脆，是大街小巷都看得到的點心。&lt;br /&gt;&lt;br /&gt;在楊立章長大的高中見到了他的伯父，也是他們家族的大家長。跟著他們一起開去吃辣螃蟹，一路上山路崎嶇，楊立章開著一輛看起來快要解體兩門舊車在山路彎道上以時速一百逆向超車，根本就是頭文字D的電影現場。整個牙買加島大部份都是山，Kingston也因此是個背山面海的都市。入夜之後山坡上燈光通明，讓我想到台北家後陽台貓空後山的景色。周末的晚上整的Kingston是一個大的夜店。人山人海到處是音樂。差別只是有的場子放老一點的音樂吸引熟男師奶，有的場子放新的音樂吸引帥哥辣妹。氣氛上很像台北跨年那個晚上，不過台北是一年一次，Kingston是一周三次，從周五玩到周日。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_3epJ1lFVKV4/R8zCp5pPS7I/AAAAAAAAAEU/attnprkIs_s/s1600-h/DSC00030.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_3epJ1lFVKV4/R8zCp5pPS7I/AAAAAAAAAEU/attnprkIs_s/s200/DSC00030.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5173724097046072242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;牙買加是個非常虔誠的基督教國家，在那裡每天早上固定會被學校唱聖歌的聲音叫醒。大部份受過適當教育的人都非常有禮貌。歷史上牙買加一開始是個&lt;a href="http://en.wikipedia.org/wiki/Piracy_in_the_Caribbean"&gt;海盜基地&lt;/a&gt;(延平郡王祠好像也是?)，在英國統治下Kingston的外港Port Royal成為當時全世界最有錢的地方(電影『加勒比海盜』的故事背景)也是世界上最大的黑奴港。一場強烈地震摧毀了這一切，重建之後也難恢復當時的光榮，牙買加最後在1962年獨立，非裔，印度裔與華裔占多數，主要因為這些族裔早年被英國運來做奴工。脫離奴役，獨立建國，牙買加有很多受到壓迫的故事被&lt;a href="http://en.wikipedia.org/wiki/Bob_Marley"&gt;馬利&lt;/a&gt;先生寫成歌，在世代間傳唱。牙買加很希望自己國家的故事可以給其他非洲裔為主的國家一些啟發，因此當年也用音樂支持釋放曼德拉。政治上牙買加有不少內部問題。兩黨各有支持的群眾，各擁幫派，在路邊插上綠色與橘色的旗幟(咦? 好熟悉的顏色)劃分地盤。在綠色與橘色交界，終年有槍殺的新聞。由於基礎民生工業在牙買加並不普遍，因此許多物資要依賴進口。辛苦的生活成了豐富的故事題材，加上民族的天賦，牙買加毫不意外的成為音樂的重鎮。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_3epJ1lFVKV4/R8zC25pPS8I/AAAAAAAAAEc/D7zX25tS4kI/s1600-h/DSC00041.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_3epJ1lFVKV4/R8zC25pPS8I/AAAAAAAAAEc/D7zX25tS4kI/s200/DSC00041.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5173724320384371650" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;音樂、陽光、沙灘，最後一天我跟著他們全家在海邊吃了一頓炸鮮魚，配上浸在醋裡的辣椒黑胡椒，還有用類似芋頭的植物作成的&lt;a href="http://www.jamaicatravelandculture.com/food_and_drink/bammy.htm"&gt;bammy&lt;/a&gt;。同樣用酸辣椒汁泡的小龍蝦也是很普遍的零食。牙買加吃東西並不便宜，好一點的簡餐比美國還要貴。Akee燴鹹魚是牙買加的國菜，是經典的早餐選擇。我在其他地方嘗過，只有在牙買加的Akee燴鹹魚才好吃。&lt;a href="http://en.wikipedia.org/wiki/Ackee"&gt;Akee&lt;/a&gt;是龍眼與荔枝的近親，吃起來軟軟口感像榴槤但沒有榴槤味。值得一提的是牙買加的華人餐館並沒有受到美式中餐的污染，所以料理方法還是尊循傳統，不像美國中餐搞出一大堆在肉上澆糖漿的爛點子。&lt;br /&gt;&lt;br /&gt;這麼美好的體驗，你是不是也想去牙買加看看呢? 很抱歉在這裡要潑你一點冷水。牙買加政府對台灣護照並不友善。疑似某政治實體的壓力，牙買加政府不承認中華民國護照，甚至不能在上面蓋簽證，基本上就是把那本綠色有國徽的東西當成是旅遊筆記本。中華民國&lt;a href="http://www.boca.gov.tw/content.asp?CuItem=999&amp;mp=1"&gt;外交部網站&lt;/a&gt;上聲稱的落地簽證，經查證&lt;a href="http://www.jamaicacgmiami.org/visapolicy.html"&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/22171124-8254054619774688487?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/8254054619774688487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=8254054619774688487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8254054619774688487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8254054619774688487'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/03/kingston-memory.html' title='Kingston Memory'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3epJ1lFVKV4/R8zCW5pPS6I/AAAAAAAAAEM/bP9e2PXVP3c/s72-c/DSC00007.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5742815718503908427</id><published>2008-02-14T06:28:00.002-05:00</published><updated>2008-02-14T07:22:32.131-05:00</updated><title type='text'>守成不易</title><content type='html'>在我們IT部門裡，分成新專案(capital project)與現有產品系統維護(production support)兩個大項目。系統維護支出是最不討好的一個項目。就像是每三個月送車去換機油，越換車還是越舊。出錢的老闆當然喜歡看新專案達成目標。至於現有的系統，能省就省了吧。偏偏公司裡面專案經理跟系統維護的主管是兩個人，在競爭資源的時候就難免會有大小眼的狀況。為了讓新系統可以提前發佈，專案經理有時會作出犧牲掉系統維護的決定。換言之，趕快給我做出來，以後維護是他家的事。&lt;br /&gt;&lt;br /&gt;讓我想到幾年前Linux在企業界喊得多響，用了Linux就可以馬上省下多少多少。沒錯，省下作業系統的錢馬上可以讓專案預算降低，專案經理有功勞，公司也開心。既然這麼省，為什麼IBM與Oracle還搶著發行Linux平台相容的產品呢? 其實說穿了只是大家套好招的政治遊戲。跟資料庫與應用程式伺服器的價格比起來，作業系統的錢只是個零頭。一但進入系統維護之後，這些廠商就可以穩穩的收錢。五年十年下來，真正能省多少？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-5742815718503908427?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5742815718503908427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5742815718503908427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5742815718503908427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5742815718503908427'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/02/blog-post.html' title='守成不易'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6672259000159999919</id><published>2008-01-29T04:56:00.001-05:00</published><updated>2008-01-29T05:39:26.291-05:00</updated><title type='text'>我該怎麼愛，台灣</title><content type='html'>在台南當台北人。在台灣當外省人。在美國當外國人。裡外不是人。&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/22171124-6672259000159999919?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6672259000159999919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6672259000159999919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6672259000159999919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6672259000159999919'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2008/01/blog-post_29.html' title='我該怎麼愛，台灣'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-1193751823789847570</id><published>2007-12-31T18:21:00.000-05:00</published><updated>2007-12-31T18:28:26.122-05:00</updated><title type='text'>參拜天后</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3epJ1lFVKV4/R3l7EBuKR1I/AAAAAAAAADU/OgpUFUnfkds/s1600-h/amei.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/R3l7EBuKR1I/AAAAAAAAADU/OgpUFUnfkds/s200/amei.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5150282957986613074" /&gt;&lt;/a&gt;&lt;br /&gt;我的二表嫂真是大好人，幫我買到張惠妹的台北演唱會票。我跟我媽一起去聽演唱會，酷吧。這應該是張惠妹最精彩的一次巡迴演出。有幾段好像靈感有一點類似我們娜姐，整體看來還是非常順暢的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-1193751823789847570?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/1193751823789847570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=1193751823789847570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1193751823789847570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/1193751823789847570'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/12/blog-post_31.html' title='參拜天后'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3epJ1lFVKV4/R3l7EBuKR1I/AAAAAAAAADU/OgpUFUnfkds/s72-c/amei.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-8619995110224732645</id><published>2007-12-26T21:33:00.000-05:00</published><updated>2007-12-26T22:03:53.160-05: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;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-8619995110224732645?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/8619995110224732645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=8619995110224732645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8619995110224732645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8619995110224732645'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/12/blog-post_26.html' title='四個意外'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-527096045065922162</id><published>2007-12-09T18:52:00.000-05:00</published><updated>2007-12-17T11:38:22.712-05:00</updated><title type='text'>有驚無險的系統上線日</title><content type='html'>又是系統上線日。&lt;br /&gt;&lt;br /&gt;晚上六點鐘跟專案經理跑去搬晚餐上樓，就跟著大家一起進控制中心開始支援系統安裝。依公司規定只有管理者可以進行系統變更，而且一切進行得很順利，所以我有點無聊就開始玩我們的船上的測試系統，順便解決一些剛剛回報的系統錯誤。我一面回信一面玩，同事Doug看到我的信也跑進去玩，忽然Doug送一疊錯誤訊息給我&lt;br /&gt;&lt;br /&gt;Doug:『這樣好像會把船上的系統搞垮吧』&lt;br /&gt;忽然我從座位上跳起來。這下完了。&lt;br /&gt;&lt;br /&gt;我們的系統在岸上與船上同時運行，資料每天會自動進行同步。由於專案的預算有限，而且上線日期不能延後 加上四個專案經理在爭奪測試環境的資源，所以我們只能限制測試與專案有關的項目 今天晚上我們會在岸上把系統資料更新，到明天這些新資料就會自己送到船上去。從測試環境的情況看起來，一旦資料送上衛星，手上這八艘船的旅遊售票系統就會在四個鐘頭之內在海中央關門大吉。嗯。很好。應該沒有比這個更嚴重的了。&lt;br /&gt;&lt;br /&gt;向專案經理呈報之後緊急暫停系統部署，並立刻被成立了緊急討論室。真正相關的人並不多，但是大家都跑來看熱鬧。就好像是高速公路因為觀賞對面車禍而大塞車那樣，一瞬間一大堆主管跑來表示關切，問我如何解決這個問題。這不是個小問題 一但處理不好是可以大到取消整個專案上線的。在時間壓力下，我提出了一個速解的，頭痛醫頭的辦法在其他船上重置資料。目的是要讓主管知道，最壞的情況也不致於取消系統部署。&lt;br /&gt;&lt;br /&gt;在這個時候自己組裡竟然有人跳出來搶聚光燈，提出另一個重置資料的速解方案並質疑我為什麼要動船上的資料 這位同事是我的好朋友，但從未直接參與本項目的開發，忽然來這麼一下真的有點難看。草草答應把大家解散了之後，趕緊回去想想有沒有更好的方法。一面主管們也開始準備呈報系統變更管理部門核准。這時候另一個同事忽然有了第三個想法: 與其暫時改資料，不如放一個程式的patch同時可以相容新舊資料。半夜兩點鐘能保持冷靜寫出東西還真是不容易 我想了好久(大約五分鐘; 真的 在那種場合三十秒都會有人急著催) 問了同事兩次 你真的確定這個程式會工作嗎？最後決定作對的事。冒的險大一點，但至少不用連累到無辜的船，或是違反公司的政策。&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/22171124-527096045065922162?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/527096045065922162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=527096045065922162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/527096045065922162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/527096045065922162'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/12/blog-post.html' title='有驚無險的系統上線日'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6538697550950886075</id><published>2007-11-21T08:21:00.000-05:00</published><updated>2007-11-21T08:53:36.193-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><title type='text'>PC Magazine是瘋了嗎</title><content type='html'>上次曾經提到PC Magazine&lt;a href="http://midipig.blogspot.com/2007/08/pc-magazine.html"&gt;定位不清楚&lt;/a&gt;的問題，今天無意間翻到專欄作家John Dvorak的新評論『&lt;a href="http://www.pcmag.com/article2/0,2704,2209837,00.asp"&gt;Vista死亡觀察&lt;/a&gt;』，內容大致上是說Vista死定了，因為用戶升級不如預期，同時Mac銷售量增加，並且建議微軟將各版本的Vista合成一套，終極版一套九十九美元，最好是再把OSX的設計都加進去，這樣他才會買。換句話說就是叫微軟乾脆來賣Mac OS X就好了。&lt;br /&gt;&lt;br /&gt;莫名其妙。&lt;br /&gt;&lt;br /&gt;雖然我是個百分之百的蘋果派，但還是看不下去這樣亂七八糟的評論。我認為Windows Vista是微軟最勇敢的一次革新，這場豪賭是布局一個平台，讓下一代的程式開發者能在一套新標準的API裡面寫出新的產品。微軟所推動的是一整排的生態革命，不論最後結果如何，這都是值得敬佩的。再者，Windows向來是企業的主要選擇。公司等個兩三年才開始接受新平台是稀鬆平常的是。當老闆我錢賺得好好的幹麻跑去重灌作業系統？想當年大部份公司也都是等到Service Pack 1才開始採用Windows XP。說Vista生或是死，等到兩千零九年春天再來決定也不遲。看來Dvorak這一次又會炸到自己了。&lt;br /&gt;&lt;br /&gt;題外話，蘋果iMac + VMware Fusion讓我省下六萬元台幣。我的蘋果上面跑了四個平台: Mac OS X, Windows XP, Windows 2000 Chinese, MediaWiki/Linux, Windows 2003 Server eval, Solaris 10. 舊電腦可以準備送人了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6538697550950886075?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6538697550950886075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6538697550950886075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6538697550950886075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6538697550950886075'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/11/pc-magazine.html' title='PC Magazine是瘋了嗎'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2844525321341162025</id><published>2007-11-13T05:41:00.000-05:00</published><updated>2007-11-13T08:11:28.209-05:00</updated><title type='text'>瀏覽器大戰3.0</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3epJ1lFVKV4/RzmP9uOVa1I/AAAAAAAAADM/2PZtTbcnI3g/s1600-h/WEbKit.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_3epJ1lFVKV4/RzmP9uOVa1I/AAAAAAAAADM/2PZtTbcnI3g/s200/WEbKit.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5132291540908338002" /&gt;&lt;/a&gt;&lt;br /&gt;十年前第一場PC瀏覽器大戰把Netscape從市場獨占的老大打到完全消失。原來的班底化整為零組合成Firefox火狐狸重新加入戰局，因為開放源碼以及廣大的社群支持，一時成為專業玩家的最愛。狂推了一陣子之後終於微軟選擇了正面迎戰，整場戰役在微軟推出IE7之後結束，消費者選擇使用新的IE7，而微軟也重新拿回原本被Firefox侵蝕的版圖。&lt;br /&gt;&lt;br /&gt;今年是第三次瀏覽器世界大戰開打的一年，戰場不再是在個人電腦，而是我們口袋裡的手機。&lt;br /&gt;&lt;br /&gt;原本在Linux上有一套小得不能再小的HTML Layout引擎KHTML，設計相當精緻，同時也比Firefox快。蘋果看上這些優點把它拿來改寫。改寫之後想要把程式碼合併回原來的系統，可是改得太多了，一時合併不回去，所以蘋果乾脆就喧賓奪主自己開了一個新計畫讓大家進來。這個計畫就是第三次大戰的主角：&lt;a href="http://webkit.org/"&gt;WebKit&lt;/a&gt;。WebKit是一個核心引擎而不是一個真的瀏覽器。在今年WebKit轉眼之間成為高階行動通訊裝置的標準: &lt;a href="http://www.apple.com/iphone"&gt;Apple iPhone&lt;/a&gt;, &lt;a href="http://code.google.com/android/"&gt;Google Android&lt;/a&gt;, 還有&lt;a href="http://opensource.nokia.com/projects/S60browser/"&gt;Nokia S60 Browser&lt;/a&gt;都選擇了WebKit當做它們的瀏覽器核心。我可以看到明年十月份在高階手機會有兩成的市場是用WebKit，而且會因為台灣的代工而繼續成長。從程式開發來看，也不難想見在幾年之內市場會選擇使用共通的HTML標準而捨棄WML。因為Google與Apple的加入，讓我非常期待明年的行動通訊裝置市場。終於等到了那一天，資訊可以用簡單而共通的方式在全世界流通。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-2844525321341162025?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2844525321341162025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2844525321341162025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2844525321341162025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2844525321341162025'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/11/30.html' title='瀏覽器大戰3.0'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3epJ1lFVKV4/RzmP9uOVa1I/AAAAAAAAADM/2PZtTbcnI3g/s72-c/WEbKit.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2030690312606093606</id><published>2007-11-07T07:23:00.000-05:00</published><updated>2007-11-13T08:10:33.829-05:00</updated><title type='text'>Acer 看起來最快筆電 與 年度最重筆電</title><content type='html'>PC World雜誌公布2007年最讓人注意的筆記型電腦，Acer拿下多項大獎，其中包括了:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pcworld.com/article/id,136649-page,1-c,notebooks/article.html"&gt;最重&lt;/a&gt;: Acer Aspire 9810-6829 含變壓器可重達十九磅&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pcworld.com/article/id,136649-page,6-c,notebooks/article.html"&gt;螢幕最大&lt;/a&gt;: Acer Aspire 9810-6829 超過二十吋&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pcworld.com/article/id,136649-page,11-c,notebooks/article.html"&gt;看起來最快&lt;/a&gt;: Acer Ferrari 5005WLMi 因為是法拉利外殼 所以從外面看起來很快&lt;br /&gt;&lt;br /&gt;十二項裡面Acer拿了三項，雖然說這幾個獎拿得怪怪的，但能夠有搏版面的機會也算不錯了。希望Acer能繼續努力以赴，這樣對台灣的品牌也是一個鼓勵。&lt;br /&gt;&lt;br /&gt;另外值得一提的是年度最快Windows電腦是蘋果的MacBook Pro。Mac vs PC: The fastest PC is a Mac.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-2030690312606093606?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2030690312606093606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2030690312606093606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2030690312606093606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2030690312606093606'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/11/acer.html' title='Acer 看起來最快筆電 與 年度最重筆電'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-973953479805163101</id><published>2007-11-06T00:57:00.000-05:00</published><updated>2007-11-13T08:13:25.963-05:00</updated><title type='text'>真相大白 原來Google沒有出電話</title><content type='html'>&lt;a href="http://www.openhandsetalliance.com/images/android.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px;" src="http://www.openhandsetalliance.com/images/android.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;這幾個星期一直謠傳Google要賣電話，好像就要和蘋果的iPhone正面衝突一樣。心裡想說Google怎麼可能這麼想不開，一面入股蘋果又一面打蘋果。今天答案揭曉，原來Google不是要賣電話，而是要&lt;a href="http://www.openhandsetalliance.com/"&gt;公開一套手機的作業平台讓硬體廠商自由使用&lt;/a&gt;。換句話說，&lt;a href="http://www.openhandsetalliance.com/android_overview.html"&gt;這個計畫&lt;/a&gt;搶的不是蘋果的市場，真正要搶的是Windows Mobile與Symbian的市場。至於前景如何現在還很難說，我想還是等到十一月十二日SDK正式發表之後再來猜測比較有意義。Linux手機談了好幾年，真正堪用的產品寥寥無幾，希望Google不是另一個不堪使用的Linux。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-973953479805163101?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/973953479805163101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=973953479805163101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/973953479805163101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/973953479805163101'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/11/google.html' title='真相大白 原來Google沒有出電話'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-238363095616242855</id><published>2007-09-30T06:01:00.000-05:00</published><updated>2007-09-30T06:10:37.553-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><title type='text'>iPhone+Google Maps: 意外的統計結果</title><content type='html'>今年初iPhone發表會上Steve Jobs卯起來推銷Google Maps，好像iPhone+Maps是多了不起的事。我心裡想Google Maps已經推出四五年了吧，而且在別的Java手機上早就有Google Maps的client了，這有什麼稀奇呢?&lt;br /&gt;&lt;br /&gt;拿到iPhone以後，發現iPhone的Google Maps做了一些很順手的改進，真的可以在路上用。今天統計結果出來，因為iPhone, &lt;a href='http://gigaom.com/2007/09/17/iphone-drives-google-maps-usage-youtube-lags/'&gt;Google Maps的使用量大增&lt;/a&gt;。Usability is the king.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-238363095616242855?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/238363095616242855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=238363095616242855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/238363095616242855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/238363095616242855'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/09/iphonegoogle-maps.html' title='iPhone+Google Maps: 意外的統計結果'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-3205308547437349077</id><published>2007-09-29T20:31:00.000-05:00</published><updated>2007-09-29T20:35:23.381-05:00</updated><title type='text'>蘋果的一百美元</title><content type='html'>因為iPhone價格狂降，蘋果為了安慰像我一樣第一天排隊去買iPhone的冤大頭們，退一百美元給我們。我大概會用來買Mac OS X Leopard吧。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-3205308547437349077?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/3205308547437349077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=3205308547437349077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3205308547437349077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3205308547437349077'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/09/blog-post_29.html' title='蘋果的一百美元'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-3269104931489799037</id><published>2007-09-02T09:43:00.000-05:00</published><updated>2007-09-02T09:48:29.425-05:00</updated><title type='text'>李麥克喝醉趴在地上吃漢堡</title><content type='html'>Youtube還真是無奇不有呢&lt;br /&gt;霹靂游俠 李麥克 喝醉 趴在地上 吃漢堡&lt;br /&gt;http://www.youtube.com/watch?v=oYj6TceYio0&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/oYj6TceYio0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/oYj6TceYio0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;更好笑的是有人把上面這段重新拍攝成布偶戲&lt;br /&gt;http://www.youtube.com/watch?v=pUWkySpoEC8&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pUWkySpoEC8"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/pUWkySpoEC8" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-3269104931489799037?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/3269104931489799037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=3269104931489799037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3269104931489799037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3269104931489799037'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/09/blog-post.html' title='李麥克喝醉趴在地上吃漢堡'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5048299708689938175</id><published>2007-08-29T05:36:00.000-05:00</published><updated>2007-08-29T06:45:48.003-05:00</updated><title type='text'>終於面對事實的PC Magazine</title><content type='html'>PC Magazine就像是Byte雜誌一樣，是80年代末期重要的意見領袖。然而在長期錯誤的領導之下，PC Magazine十幾年來畫地自限，以為Personal Computing就只是以x86為中心的產業，錯失了許多真正值得探討的技術議題，甚至在x86 PC內容取捨上也偏好桌上型電腦，當然這也就自動放棄了許多讀者群。其中專欄作家John C. Dvorak更是好幾次放炮炸到自己(例如&lt;a href="http://www.pcmag.com/article2/0,1759,34347,00.asp"&gt;嘲諷.net&lt;/a&gt;是not yet)。&lt;br /&gt;&lt;br /&gt;近五年來幾家專長x86 PC的公司如Dell與Gateway漸漸失去光環，該雜誌終於感受到了壓力。轉型之後的PC Magazine企圖用更寬廣的眼光解釋Personal Computing，居然連Dvorak這位嘲諷蘋果十幾年的作家都寫出了&lt;a href="http://www.pcmag.com/article2/0,1895,2162397,00.asp"&gt;我愛麥金塔&lt;/a&gt;的文章。只可惜長期的人才偏差，讓雜誌缺乏深度。對於新技術的介紹遠不如其他線上雜誌(例如cnet)。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://udn.com/NEWS/WORLD/WOR4/3991115.shtml"&gt;報上提到&lt;/a&gt;PC Magazine選出了&lt;a href="http://www.pcmag.com/article2/0,1759,2173730,00.asp"&gt;七大科技奇觀&lt;/a&gt;，包括了摩爾定律、Wii、iPhone、蘋果公司、觸控式平面電腦、雷射、以及平面螢幕。這是在搞什麼？人家七大奇觀好歹是個建築物或至少是個地點 結果PC雜誌選出來的七大有公司，有定律，有產品，還有什麼都不是。而且竟然還跑出雷射，天啊，雷射。會不會太神奇，怎麼不乾脆順便提名飛機電話電視機湊個十全十美算了。嗯。就讓PC Magazine停留在我少年的回憶裡吧。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-5048299708689938175?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5048299708689938175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5048299708689938175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5048299708689938175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5048299708689938175'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/08/pc-magazine.html' title='終於面對事實的PC Magazine'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6352142024487666683</id><published>2007-08-26T18:07:00.000-05:00</published><updated>2007-08-26T18:50:29.674-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>iPhone鬆綁</title><content type='html'>&lt;a href="http://www.blogsmithmedia.com/www.engadget.com/media/2007/08/iphone-unlocked-01.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand" alt="" src="http://www.blogsmithmedia.com/www.engadget.com/media/2007/08/iphone-unlocked-01.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;本周的大新聞就是iPhone被解開，以後買iPhone不用再擔心綁兩年at'&amp;amp;'t的門號了(以下簡稱att，如果有人知道如何在blogger打出ampersand請告訴我)。iPhone可以拆開&lt;a href="http://www.engadget.com/2007/08/23/geohot-and-crews-hardware-unlock-is-going-live/"&gt;焊上兩條線破解&lt;/a&gt;，或是&lt;a href="http://www.engadget.com/2007/08/24/iphone-unlocked-atandt-loses-iphone-exclusivity-august-24-2007/"&gt;直接用軟體破解&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;不過在美國只有T-Mobile與att兩大GSM公司，而T-Mobile又爛得讓人腳軟(除了便宜，沒有任何特點)，所以我想對att的影響應該有限。個人認為對蘋果是一項利多。不論綁哪一家門號，蘋果每台iPhone照賺兩三百美元，對蘋果一點損失都沒有。這個話題只會成為免費的公關廣告罷了。不過att看來有點著急，聽說律師團已經出動威脅軟體破解的公司，如果破解軟體上市，&lt;a href="http://www.engadget.com/2007/08/25/uniquephones-indefinitely-delays-release-of-iphone-sim-unlock-so/"&gt;大家走著瞧&lt;/a&gt;。我猜到這套軟體是賣不出去的，但萬一att把人家逼到走投無路而開放原始碼，人人可以破解，那造成的破壞性就更難估計了。希望att的律師團還是三思而後行。&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/22171124-6352142024487666683?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6352142024487666683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6352142024487666683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6352142024487666683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6352142024487666683'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/08/iphone.html' title='iPhone鬆綁'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-3014000524664197360</id><published>2007-08-13T19:21:00.000-05:00</published><updated>2007-08-13T19:30:16.718-05:00</updated><title type='text'>兩國為了洋娃娃鬧翻</title><content type='html'>這在人類歷史上大概是頭一次，中國和美國為了洋娃娃快鬧翻了。美國市場陸續發現中國製造的毒娃娃和毒牙膏。芭比娃娃的製造商於是全面回收有毒性物質的洋娃娃，此舉不但引起中國官員的鄭重聲明，同時還造成了合約廠商的老闆上吊自殺。世界兩強為芭比大打出手，實在是很難想像的畫面。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-3014000524664197360?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/3014000524664197360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=3014000524664197360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3014000524664197360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3014000524664197360'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/08/blog-post_13.html' title='兩國為了洋娃娃鬧翻'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-7451936202037201005</id><published>2007-08-02T23:28:00.000-05:00</published><updated>2007-08-16T02:17:33.885-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ship'/><title type='text'>海洋幻麗號</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_3epJ1lFVKV4/RrKwXFoVGVI/AAAAAAAAACc/bRiFMASWlMM/s1600-h/RelaxEnchantment.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/RrKwXFoVGVI/AAAAAAAAACc/bRiFMASWlMM/s200/RelaxEnchantment.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5094328039204264274" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3epJ1lFVKV4/RrKwPFoVGUI/AAAAAAAAACU/Kzal_8tm5ik/s1600-h/SparkleEnchantment.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/RrKwPFoVGUI/AAAAAAAAACU/Kzal_8tm5ik/s200/SparkleEnchantment.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5094327901765310786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href='http://www.rccl.com.tw/br_ships04.html'&gt;海洋幻麗號&lt;/a&gt;是我們系統的第二艘船。這艘船幾年前進廠加長過。加長的方法是把船切開兩半，然後連接新建的中間段。上面這張照片就是中間加長的那一段的頂層。海洋幻麗號行經巴哈馬群島，牙買加，貝里斯以及墨西哥。加勒比海周圍的沙灘都有很美的景致。大部份的加勒比海都泛著翠綠，唯獨墨西哥的海港是純粹的深藍色。白天的海讓人心曠神怡，但晚上的海就暗得讓人不安。待在甲板上看著月光映照海面，不知道為什麼會有想家的感覺。還好船上到晚上還有工作可做，而且節目一直排到深夜，所以也不會無聊。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-7451936202037201005?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/7451936202037201005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=7451936202037201005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7451936202037201005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7451936202037201005'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/08/blog-post.html' title='海洋幻麗號'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3epJ1lFVKV4/RrKwXFoVGVI/AAAAAAAAACc/bRiFMASWlMM/s72-c/RelaxEnchantment.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-4332523029880160291</id><published>2007-07-26T09:10:00.000-05:00</published><updated>2007-08-02T23:17:59.305-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jamaica'/><category scheme='http://www.blogger.com/atom/ns#' term='Ship'/><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>Ocho Rios, 牙買加</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_3epJ1lFVKV4/RqiyQ1oVGTI/AAAAAAAAACM/8JA0Q7-BaNo/s1600-h/JamaicaBeach.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_3epJ1lFVKV4/RqiyQ1oVGTI/AAAAAAAAACM/8JA0Q7-BaNo/s200/JamaicaBeach.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5091515381086230834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3epJ1lFVKV4/RqiyNloVGSI/AAAAAAAAACE/eeiBz7zhuTM/s1600-h/DunnsFall.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/RqiyNloVGSI/AAAAAAAAACE/eeiBz7zhuTM/s200/DunnsFall.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5091515325251655970" /&gt;&lt;/a&gt;&lt;br /&gt;跟著第二艘船走到了&lt;a href='http://en.wikipedia.org/w/index.php?title=Jamaica&amp;variant=zh-tw'&gt;牙買加&lt;/a&gt;。藉著這次機會與之前在佛羅里達認識的牙買加鄰居&lt;a href='http://www.myspace.com/watchthablaze'&gt;楊立章&lt;/a&gt;約在Ocho Rios見面。&lt;a href='http://en.wikipedia.org/wiki/Ocho_Rios'&gt;Ocho Rios&lt;/a&gt;是牙買加第二大觀光景點，城市的名稱源自西班牙文的『瀑布』。牙買加的地形與台灣相似，是依山傍海的火山島。其中一個瀑布Dunn's Fall一路連接海灘，所以可以先在海邊享受金色的沙灘，然後延著瀑布往上朔溪。爬瀑布真的蠻好玩的。剛開始不熟，弄到好幾塊淤傷，爬到一半就慢慢開始有點了解了。當然這對當地人來說是沒什麼，我的牙買加朋友赤腳瀑布攀岩，簡直靈活的跟猴一樣，不像我們觀光客，大家必須手牽著手才能保持平衡。&lt;br /&gt;&lt;br /&gt;下山之後，到港邊的Magaritaville去喝酒。生平第一次喝&lt;a href='http://zh.wikipedia.org/w/index.php?title=%E9%BE%8D%E8%88%8C%E8%98%AD%E9%85%92&amp;variant=zh-tw'&gt;Tequila&lt;/a&gt;，才發現這是目前我最喜歡的酒。大白天喝的搖搖晃晃回船上睡覺去，很少有這麼逍遙的一天。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-4332523029880160291?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/4332523029880160291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=4332523029880160291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4332523029880160291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4332523029880160291'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/07/ocho-rios.html' title='Ocho Rios, 牙買加'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3epJ1lFVKV4/RqiyQ1oVGTI/AAAAAAAAACM/8JA0Q7-BaNo/s72-c/JamaicaBeach.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-7927591656445438840</id><published>2007-07-05T21:19:00.000-05:00</published><updated>2007-08-02T23:14:50.732-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ship'/><category scheme='http://www.blogger.com/atom/ns#' term='Bahamas'/><title type='text'>第一艘船</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_3epJ1lFVKV4/Ro2qdluWWDI/AAAAAAAAAB0/xznf5DMhqmE/s1600-h/CocoCay.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_3epJ1lFVKV4/Ro2qdluWWDI/AAAAAAAAAB0/xznf5DMhqmE/s200/CocoCay.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5083906979690600498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3epJ1lFVKV4/Ro2qYFuWWCI/AAAAAAAAABs/ImBd8EQKubo/s1600-h/Majesty.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/Ro2qYFuWWCI/AAAAAAAAABs/ImBd8EQKubo/s200/Majesty.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5083906885201319970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;一年後，我們開始在第一艘船上工作。資訊部門能上船工作的算是少數，因此這是相當難得的機會。同行的除了我的師父Doug之外，還有專案經理，系統管理員，資料庫管理員，還有視窗作業系統專家隨行。一票人浩浩蕩蕩的佔了好幾個房間。公司為此少作了好幾筆生意，真的很不好意思。&lt;br /&gt;&lt;br /&gt;船上的作息跟岸上完全不同。岸上通常到六點下班回家，除非有系統緊急狀況，不然下了班就是自己的時間。在船上則不同。船上一早開始上班到中午，然後有一段幾個小時的午休空檔，然後晚上六點再回來繼續工作到睡覺時間。反正在船上也不用洗衣買菜或擦地版，所以有沒有自己的時間也沒什麼差別。因為從早混到晚兩個星期，本來不是很熟的同事們也都混熟了。之前有一個應用程式伺服器管理員老是罵我們的系統是垃圾，所以我一直對她不是很友善，這次一行之後，反而我跟她是最熟的朋友。回頭一看我們這群人竟已一同奮鬥了好幾年。公司裡人來人往，有的計畫起來又倒，有的計畫從來就起不來。我們能一直撐到成功的這一天，這樣的工作伙伴真是最幸運的事。&lt;br /&gt;&lt;br /&gt;第一艘船的行程包括了巴哈馬群島的首府Nassau，天堂島，以及本公司的私人小島 椰子嶼。巴哈馬群島的海水竟然比邁阿密海灘還要清澈，沙灘也更潔白，真的會讓人忍不住想跳下去游泳。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-7927591656445438840?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/7927591656445438840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=7927591656445438840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7927591656445438840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7927591656445438840'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/07/blog-post.html' title='第一艘船'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3epJ1lFVKV4/Ro2qdluWWDI/AAAAAAAAAB0/xznf5DMhqmE/s72-c/CocoCay.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2152658691110408366</id><published>2007-07-03T16:40:00.000-05:00</published><updated>2007-08-02T23:15:17.289-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Just as I predicted, it is AT&amp;T, not iPhone</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_3epJ1lFVKV4/Ro2h2luWWBI/AAAAAAAAABk/gs9QURxISLM/s1600-h/photo.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_3epJ1lFVKV4/Ro2h2luWWBI/AAAAAAAAABk/gs9QURxISLM/s200/photo.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5083897513582680082" /&gt;&lt;/a&gt;&lt;br /&gt;Just as I predicted, my activation is not smooth at all.&lt;br /&gt;My previous rate plan is not compatible with iphone services, so at&amp;t silently kept me in the waitlist for more than one day.&lt;br /&gt;Glad that i asked around everywhere. Here is the highlight of activation:&lt;br /&gt;&lt;br /&gt;1. You need to have an elegible plan to get activated. If you were existing customer and want to add $20 for network access, it is likely that your current plan is not compatible to the iPhone plans. Be careful and ask around.&lt;br /&gt;&lt;br /&gt;2. AT&amp;T activating your SIM card does not mean your iPhone is activated.&lt;br /&gt;&lt;br /&gt;3. Apple need to receive AT&amp;T's order complete message, then Apple will "activate your iTunes."&lt;br /&gt;&lt;br /&gt;4. After your iTunes is 'activated', it remembers your account information. Anytime you sync a new iPhone to this computer, it will ask you if you want to activate it as yours.&lt;br /&gt;&lt;br /&gt;Anyway, it is good that finally I activated my iPhone, and here is a picture of Coldstone icecream cake picture taken by iPhone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-2152658691110408366?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2152658691110408366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2152658691110408366' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2152658691110408366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2152658691110408366'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/07/just-as-i-predicted.html' title='Just as I predicted, it is AT&amp;T, not iPhone'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3epJ1lFVKV4/Ro2h2luWWBI/AAAAAAAAABk/gs9QURxISLM/s72-c/photo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-5775623273793503331</id><published>2007-06-30T15:18:00.000-05:00</published><updated>2007-08-02T23:18:33.611-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>iPhone首賣日</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_3epJ1lFVKV4/Roa9ZluWV9I/AAAAAAAAABE/WR2U2XwDlIM/s1600-h/IMAGE_064.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_3epJ1lFVKV4/Roa9ZluWV9I/AAAAAAAAABE/WR2U2XwDlIM/s200/IMAGE_064.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5081957476855076818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;星期五是蘋果電話首賣日。電話在蘋果專賣店與AT&amp;T行動電話經銷商都有賣。我心想就近找at&amp;t店來買，誰知道策略錯誤，跟著排隊排了兩個小時，因為必須當場辦門號，兩個小時只處理了大概二十個客人，留下近百人在門口排隊。兩小時後，8GB賣完了，於是我第二天直接開去蘋果店買。連等都不用等，馬上就拿到了。&lt;br /&gt;因為我是現有客戶，所以要等他們把門號轉到新機器上。據以前在網路公司數年的經驗，移機作業是保證會出錯的。看看新的at&amp;t會不會有奇蹟出現，能夠順利把門號轉到我新機器上面。&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3epJ1lFVKV4/RobBg1uWV-I/AAAAAAAAABM/oQ8PdBSBJUU/s1600-h/iPhoneBox.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/RobBg1uWV-I/AAAAAAAAABM/oQ8PdBSBJUU/s200/iPhoneBox.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5081961999455639522" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3epJ1lFVKV4/RobBx1uWV_I/AAAAAAAAABU/mMlqUeWcfFw/s1600-h/iPhoneOpened.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/RobBx1uWV_I/AAAAAAAAABU/mMlqUeWcfFw/s200/iPhoneOpened.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5081962291513415666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_3epJ1lFVKV4/RobBx1uWWAI/AAAAAAAAABc/p0q8Q4FVRxU/s1600-h/iPhoneAndDell.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3epJ1lFVKV4/RobBx1uWWAI/AAAAAAAAABc/p0q8Q4FVRxU/s200/iPhoneAndDell.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5081962291513415682" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-5775623273793503331?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/5775623273793503331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=5775623273793503331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5775623273793503331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/5775623273793503331'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/06/iphone.html' title='iPhone首賣日'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3epJ1lFVKV4/Roa9ZluWV9I/AAAAAAAAABE/WR2U2XwDlIM/s72-c/IMAGE_064.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-4715282759564019082</id><published>2007-06-08T05:27:00.000-05:00</published><updated>2007-08-02T23:15:43.219-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><title type='text'>Mac OS 'Z'</title><content type='html'>一個多月以前蘋果宣布下一版的作業系統將延後到年底發行，為的是讓公司可以"專心準備iPhone"。之前大家還在納悶，這是什麼莫名其妙的理由。這兩天由於年度開發者研討會接近，終於爆出真正的原因：ZFS。&lt;br /&gt;&lt;br /&gt;蘋果決定在下一代的作業系統裡使用ZFS。ZFS是昇陽公司所開發的檔案系統，也是Solaris作業系統最常被提到的技術之一。ZFS不覆寫現有資料，所以紀錄檔案更新歷史或是復原檔案幾乎不用多花任何系統時間。ZFS可以快速調整儲存空間分割大小，並且定址到128-bit。&lt;br /&gt;&lt;br /&gt;十幾年前，Apple因為連續虧損，想辦法要把自己賣給Sun。當時Sun嫌蘋果出價太高而婉拒。幸虧當年沒有合併，否則一起被拖下水，到現在都抬不起頭來。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-4715282759564019082?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/4715282759564019082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=4715282759564019082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4715282759564019082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4715282759564019082'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/06/mac-os-z.html' title='Mac OS &apos;Z&apos;'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-7459814199619723864</id><published>2007-05-30T19:16:00.000-05:00</published><updated>2007-06-03T12:00:17.133-05: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;組長的答案讓大家都靜下來微笑點頭。好好的程式師跑去管人其實是蠻悶的事。放下J2EE管理者的工作，組長改當.net程式師。當然大家心裡都知道這不是真正的理由，但有理想總是好的。希望他一切順利，也希望新組長不要太快走掉。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-7459814199619723864?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/7459814199619723864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=7459814199619723864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7459814199619723864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/7459814199619723864'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/05/blog-post.html' title='我想寫程式'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-8733438770653866784</id><published>2007-01-01T09:07:00.000-05:00</published><updated>2007-08-02T23:16:23.172-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>最短命的Java SDK</title><content type='html'>看到報導說 &lt;a href="http://www.sun.com/software/looking_glass/"&gt;project looking glass&lt;/a&gt;出了1.0版。這個計畫是讓Java執行3D的桌面介面。之前看過demo, 點子還不錯但畫面很醜。心裡想1.0版一定會有很大的進步，結果，開了三分鐘就立刻反安裝。通常印象裡1.0版就算功能不多，但起碼功能與實作的內容會一致。Project Looking Glass介面設計亂七八糟，東一塊西一塊，滑鼠雙擊必須要按緊滑鼠不動才可以，右鍵反應與一般桌面習慣有出入，應用程式與實際系統沒有連結，3D字型沒有alias所以看出爛爛的鋸齒邊。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-8733438770653866784?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/8733438770653866784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=8733438770653866784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8733438770653866784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8733438770653866784'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2007/01/java-sdk.html' title='最短命的Java SDK'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-4749601135108065907</id><published>2006-12-22T05:56:00.000-05:00</published><updated>2006-12-22T07:24:27.768-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='traditional chinese 正體字 簡化字'/><title type='text'>西洋文化主導的社會?</title><content type='html'>報上提到許多中國的教育界人士跨校發表聯合聲明，&lt;a href="http://udn.com/NEWS/WORLD/WOR1/3657802.shtml"&gt;抵制西方耶誕節&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;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-4749601135108065907?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/4749601135108065907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=4749601135108065907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4749601135108065907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4749601135108065907'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/12/blog-post_22.html' title='西洋文化主導的社會?'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-8244090632530327143</id><published>2006-12-14T22:48:00.000-05:00</published><updated>2007-08-02T23:16:41.338-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Java求職者要當心的錯誤</title><content type='html'>首先是一般面試準備的部份&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;一、沒有辦法回答的問題請不要寫在履歷表上&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;這在台灣聽起來好像是廢話，但是在這裡卻經常發生。原因是人力仲介公司多半知道在大公司裡履歷表會經過職員篩選之後才會到面談人員的手上。為了能過第一關，這些仲介公司都會提醒你盡可能把現在流行的字全部寫進去。根據目前來看，五個人之中至少有一個會寫一些不存在的工作經驗。我的看法是，千萬不要上了人力仲介的當。如果你寫出來了，你就要真的能回答。等談到一半發現履歷表上是掰的，這樣後面就很難繼續了。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;二、答錯時不要害羞，也請不要發脾氣&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;再厲害的資訊人員也是會寫出有錯的程式，更何況是回答問題。如果面試人員明確告知答案可能有誤，不要害羞，您有權力問正確的答案，也可以提出一些討論。但是很重要的一點，請避免出現防衛過當的情況。如果對方認為答錯，必然有其原因。這個時候絕不能想著要扳回面子而強行辯解，僅就問題解答提出簡單討論即可。滔滔雄辯在正式工作時或可發揮效益，然而在求職時打口水戰卻可能贏了面子，輸了裡子。當然，更要避免發脾氣而大罵面試人員問這什麼無聊沒人用的東西答不出來。&lt;br /&gt;&lt;br /&gt;接下來是技術的部份&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;三、Pass by value&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Java在傳遞參數的時候是傳值的，這個答案不能錯。如果怕被搞混，就乾脆背下來: All parameters are "pass by value". 細節可以參考Ken Arnold The Java Programming Language, 2.6.1.&lt;br /&gt;這個答案通常是有老經驗的C語言程式設計師容易答錯。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;四、cookie不是session&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;如果是找web相關程式工作，請避免把cookie跟JSP/Servlet session object搞混。cookie是放在瀏覽器的；session object是活在伺服器裡的。在session裡面放一萬個超大的圖檔，會先搞掛伺服器，不是瀏覽器。截至目前為止Java沒有人在搞view state這一套，所以這個答案能模糊的空間也不是很大。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;五、Design Pattern: Singleton&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;很多人會順手寫上Design Pattern，而且第一個回答的就是Singleton。Singleton是用來保證在執行環境裡只有一個物件instance的技術。請小心，Singleton是個陷阱，因為大部份人所知道的Singleton都是抄自GoF的書。GoF的Singleton對於單程單緒的程式是可以的，但是放到Java上面，GoF Singleton有兩個大問題:&lt;br /&gt;1. 當你有多個JVM的時候，Singleton作不到single instance(因為每個vm有一個instance)&lt;br /&gt;2. 那怕只有一個JVM，Singleton也不能保證多執行緒安全。安全的Singleton看起來一點都不酷。細節分在另外一篇文章裡。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;六、資料庫的Connection Pool用完了還是要還的&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;你如果用完不還，JDBC是不會自動把它回收的。這跟Garbage Collection一點關係都沒有。稍微有一些工作經驗的人應該都受過這種教訓。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;七、如果是應徵程式設計師，請小心避免熱門關鍵字SOA&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;老實說，SOA根本是分析師或是決策人員在玩的東西。如果提到SOA，請確定您沒有把它與Web Service和Enterprise Service Bus(ESB)搞混在一起。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;八、不懂EJB一點關係都沒有，不要硬寫上去&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;說真的，不懂EJB一點都不影響面試結果。反正EJB2現在是過街老鼠，企業避之唯恐不及，所以大可放心的說你不用EJB。今年開始不少人看到EJB3變簡單了，忙著寫在履歷表上。請小心，因為EJB3只是開發的時候變簡單，真正放在機器上跑，還是要面對原來的問題，還是要得和serialization/rmi/iiop/tcp/ip/ethernet搏鬥。如果您寫上EJB的經驗，至少要曾經deploy ear到真正的機器上跑過才算。還有，Message-driven EJB是用來『接收』的，不是用來送訊息的。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;九、你職業生涯裡最有成就的例子&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;凡是有主管在的時候，主管最常問這個問題。準備這個答案的時候，有量化的資料最好了，例如，『因為我寫了這個工具，公司員工平均一周省下四個小時』，或是『本來系統反應時間是九十二秒，經過refactoring之後只需十六秒，快了將近600%』主管們不在乎你會不會程式語言，但是很在乎你想不想解決問題。&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/22171124-8244090632530327143?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/8244090632530327143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=8244090632530327143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8244090632530327143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/8244090632530327143'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/12/java.html' title='Java求職者要當心的錯誤'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-4873105168036556431</id><published>2006-12-10T20:27:00.000-05:00</published><updated>2006-12-15T01:50:10.669-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ejb3'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><category scheme='http://www.blogger.com/atom/ns#' term='jee'/><category scheme='http://www.blogger.com/atom/ns#' term='j2ee'/><category scheme='http://www.blogger.com/atom/ns#' term='mule'/><title type='text'>春天大拜拜</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_3epJ1lFVKV4/RXy0hgAfLCI/AAAAAAAAAAk/BEebcoxyCcY/s1600-h/spring2006.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_3epJ1lFVKV4/RXy0hgAfLCI/AAAAAAAAAAk/BEebcoxyCcY/s200/spring2006.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5007075373349809186" /&gt;&lt;/a&gt;跑去參加了Spring Experience 2006。這是Spring framework的年度大會，三天要收千餘美金。過去幾年，大企業裡的人覺得EJB的員工價錢太貴，找到了還整天跳槽，所以當Spring把自己行銷成一套便宜的企業解決方案時，一時之間許多學不會JEE的企業便趨之若鶩地貼上Spring。現在，學不會EJB的朋友終於可以大聲的喊 我們不用EJB。&lt;br /&gt;&lt;br /&gt;儘管所有的資訊人都知道，這世界上沒有一顆神奇的銀色子彈可以同時打到鮪魚肚與膝蓋(扯遠了)，但是Spring卻不能免俗的想要當一顆銀色子彈，學Java EE把所有商業規格吃下來。這就像蝙蝠俠的編劇一樣，凡是看到什麼，加上蝙蝠兩個字，就成為新產品，例如蝙蝠飛機，蝙蝠書包之類的。看起來Spring也學會了蝙蝠俠的這幾招。這三天下來，什麼東西前面通通都加上Spring: Spring OSGi, Spring JMS, Spring Weblogic, Spring Mule, 到最後還來個Spring.NET, 聽得我真的快吐了。我一直覺得dependency injection是對的觀念，而且Spring與Pico Container一樣, 是不錯的設計。只是說，真的有必要用這個方式把所有東西都沾到邊來賣嗎?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-4873105168036556431?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/4873105168036556431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=4873105168036556431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4873105168036556431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/4873105168036556431'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/12/blog-post_10.html' title='春天大拜拜'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3epJ1lFVKV4/RXy0hgAfLCI/AAAAAAAAAAk/BEebcoxyCcY/s72-c/spring2006.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-3741924935677949599</id><published>2006-12-05T22:32:00.000-05:00</published><updated>2006-12-05T22:40:03.615-05:00</updated><title type='text'>周杰倫出現在iTunes Store</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_3epJ1lFVKV4/RXY7jPuEo8I/AAAAAAAAAAY/b59MVi8daPs/s1600-h/itune_jay.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_3epJ1lFVKV4/RXY7jPuEo8I/AAAAAAAAAAY/b59MVi8daPs/s200/itune_jay.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5005253512570119106" /&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/22171124-3741924935677949599?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/3741924935677949599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=3741924935677949599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3741924935677949599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3741924935677949599'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/12/itunes-store.html' title='周杰倫出現在iTunes Store'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_3epJ1lFVKV4/RXY7jPuEo8I/AAAAAAAAAAY/b59MVi8daPs/s72-c/itune_jay.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-2467463866364223926</id><published>2006-12-04T17:43:00.000-05:00</published><updated>2006-12-05T22:30:30.228-05:00</updated><title type='text'>新聞是平的</title><content type='html'>一場寧靜革命要開始了。&lt;br /&gt;雅虎與路透社合作 首次&lt;a href='http://today.reuters.co.uk/news/articlenews.aspx?type=technologyNews&amp;storyID=2006-12-04T171742Z_01_NAAD0401_RTRIDST_0_TECH-YAHOO-REUTERS-EYEWITNESS-DC.XML&amp;WTmodLoc=TechInternet-C1-Headline-2'&gt;採用網友自行投稿之目擊照片作為新聞內容&lt;/a&gt;&lt;br /&gt;自己寫 自己編 自己看 的時代就要來臨了&lt;br /&gt;當年著名的&lt;a href='http://www.robinsloan.com/epic/'&gt;Googlezon 2014預言&lt;/a&gt; 一步一步地實現當中&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-2467463866364223926?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/2467463866364223926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=2467463866364223926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2467463866364223926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/2467463866364223926'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/12/blog-post_04.html' title='新聞是平的'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-6252399533644247614</id><published>2006-12-02T13:02:00.000-05:00</published><updated>2006-12-03T10:04:24.835-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dual core virtualization'/><title type='text'>核一: 核二: 核三: 核四</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_3epJ1lFVKV4/RXLnb_uEo7I/AAAAAAAAAAM/RFnupT1YDnQ/s1600-h/XP2000.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_3epJ1lFVKV4/RXLnb_uEo7I/AAAAAAAAAAM/RFnupT1YDnQ/s200/XP2000.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5004316604109202354" /&gt;&lt;/a&gt;&lt;br /&gt;不是核電場。是講前幾周開打的四核心CPU大戰與伺服器虛擬化與軟體授權。&lt;br /&gt;&lt;br /&gt;其實伺服器虛擬化已經在IBM的商業系統有好一陣子了。不但可以把一台機器當成多台來跑，也可以把多顆CPU合在一起當成一個來用，且記憶體大小也可以隨時增減。早年的IBM系統只跑專門寫給IBM的程式，因此很少有人注意到它們用了什麼軟體授權。直到這幾年，Linux與Windows伺服器虛擬化的技術成熟，企業才發現了這個新的省錢漏洞：買一套當n套用。&lt;br /&gt;&lt;br /&gt;不僅是虛擬化影響到軟體授權方式，多核心技術也是。原本很多軟體依CPU的數量來計價。去年出現雙核心的處理器之後，只要買一個CPU的軟體就可以當兩個cpu來跑。這些軟體公司在去年紛紛更改他們的Licensing Model來因應雙核心處理器帶來的改變。算幾個CPU來計價的時代已經過去了。算安裝在硬碟幾套的時代也已經過去了。新的&lt;a href="http://download.microsoft.com/download/6/8/9/68964284-864d-4a6d-aed9-f2c1f8f23e14/virtualization_brief.doc"&gt;Licensing Model&lt;/a&gt;，算的是在記憶體裡存在的數目與核心數目。不管你在硬碟裡裝了幾次，每載入記憶體一套，就算一套的錢。如果你關掉一個vm，再開一個，這樣也只算一套。&lt;br /&gt;&lt;br /&gt;前幾天打電話去Windows XP Pro的啟動熱線。接電話的印度女服務員很明顯是聽不太懂什麼是虛擬化，拼了命問我是幾台電腦。嗯。一台。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-6252399533644247614?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/6252399533644247614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=6252399533644247614' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6252399533644247614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/6252399533644247614'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/12/blog-post.html' title='核一: 核二: 核三: 核四'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3epJ1lFVKV4/RXLnb_uEo7I/AAAAAAAAAAM/RFnupT1YDnQ/s72-c/XP2000.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-3642595005336158543</id><published>2006-11-21T14:26:00.000-05:00</published><updated>2006-11-21T15:52:11.950-05:00</updated><title type='text'>Java平台將在2009年自行毀滅</title><content type='html'>這兩星期Java平台的新聞焦點是: &lt;a href="http://www.sun.com/software/opensource/java/"&gt;Java決定以GPL方式開放原始碼&lt;/a&gt;。如此一來，所有的Linux系統都可以自行在出廠時安裝JVM，不需要讓每個用戶自己上網去下載。消息一出，各方面的佳評如潮，可以說是前途一片大好。興奮的我跑進去看了原始碼，才發現JVM是用C語言寫的，看起來如同天書，有點失望，可真是C到用時方恨少啊。&lt;br /&gt;&lt;br /&gt;然而在另一方面，Java社群其實正面臨一個全面崩潰的危機。這個危機來自OSGi組織與Java Community Process之間的衝突。Java開發者都知道，編譯好的程式可以包裝成*.jar檔案，然後就可以透過classpath把程式庫載入JVM執行。jar說穿了就是一個zip檔案，只不過裡面的目錄要按照規定排好位置罷了。因為程式庫都是在執行時期才會載入，所以從JVM的classloader結構上來看，只要有個起動程式把classloader發動起來，剩下的程式庫要用的時候再去網路上下載就行了。從這個想法來看，Java平台其實理論上不需要很大的硬碟空間，可能比Flash player稍大一點點就夠了。&lt;br /&gt;&lt;br /&gt;Java 7 考慮採用這種模式來減低下載大小。其實同時間早已有很多人在進行同樣的計畫。OSGi希望能在嵌入式系統裡採用同樣的架構，而且已經進行了五年。另一方面，Apache Maven也已有類似的想法來解決jar dependency。這兩個計畫之外，又有兩群人很瞎的寫了&lt;a href="http://jcp.org/en/jsr/detail?id=277"&gt;兩個重疊&lt;/a&gt;的提案，還有某公司很瞎的&lt;a href="http://jcp.org/en/jsr/detail?id=294"&gt;兩個案子&lt;/a&gt;都參加了。恕我無知，但真的這幾個案子好像很多地方可以合在一起。更慘的是，有人寫信去告訴他們這個情況，但兩造都假裝聽不到。大概是在占地盤吧。&lt;br /&gt;&lt;br /&gt;如果這樣搞下去，加上開放源碼，那麼Java 7就會步上C++與CORBA的後塵：　出現一大堆類似但不相容的產品。如果是這樣，那麼Java 7就會是最後一個讓人記得的版本了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-3642595005336158543?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/3642595005336158543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=3642595005336158543' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3642595005336158543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/3642595005336158543'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/11/java2009.html' title='Java平台將在2009年自行毀滅'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-116330403221833514</id><published>2006-11-11T22:48:00.000-05:00</published><updated>2006-11-12T18:17:01.186-05:00</updated><title type='text'>六年前</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/7781/499/1600/firstuml.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/7781/499/320/firstuml.png" alt="" border="0" /&gt;&lt;/a&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/22171124-116330403221833514?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/116330403221833514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=116330403221833514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/116330403221833514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/116330403221833514'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/11/blog-post_11.html' title='六年前'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-116301467529452276</id><published>2006-11-08T14:25:00.000-05:00</published><updated>2006-11-12T18:10:24.004-05:00</updated><title type='text'>蘿蔔糕複製技術</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7781/499/1600/DSC00960.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7781/499/200/DSC00960.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7781/499/1600/DSC00958.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/7781/499/200/DSC00958.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;之前看我媽作過，上星期因為看到在來米粉快過期了，就去買了一支白蘿蔔回家作實驗。在結帳的時候老外看不懂蘿蔔，問我蘿蔔怎麼說，我告訴他叫做daikon，可是他找了半天找不到價錢，一群店員研究半天之後決定免費送給我。於是我就用這支免費的蘿蔔參考網路上&lt;a href="http://www.euphocafe.com/recipe.asp?rid=123"&gt;愛在廚房&lt;/a&gt;的食譜，複製出蘿蔔糕來。製作成功後有以下心得&lt;br /&gt;&lt;br /&gt;1. 臘肉臘腸用拌沙拉的燻培根肉乾加三明治火腿代替即可&lt;br /&gt;2. 蘿蔔炒熟後稍微去一下水&lt;br /&gt;3. 抹油。容器裡要抹多一點油，不然倒出來會裂掉，很醜&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-116301467529452276?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/116301467529452276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=116301467529452276' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/116301467529452276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/116301467529452276'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/11/blog-post.html' title='蘿蔔糕複製技術'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-116255542524094906</id><published>2006-11-03T06:52:00.000-05:00</published><updated>2006-11-12T18:10:23.725-05:00</updated><title type='text'>CEO 2.0?</title><content type='html'>&lt;a href='http://news.com.com/1606-2-6132093.html?tag=nl'&gt;Steve Ballmer的新策略&lt;/a&gt;把SuSE Linux也劃進了微軟的雷達範圍裡。感覺上幾年前軟體公司梟雄爭霸的局面已經過去了,取而代之的是更開放的產品策略。昇陽的新老闆上來也是如此。有傳言說,今年底昇陽就會釋出Java的原始碼&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/22171124-116255542524094906?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/116255542524094906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=116255542524094906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/116255542524094906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/116255542524094906'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/11/ceo-20.html' title='CEO 2.0?'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-116113993096864143</id><published>2006-10-17T20:47:00.000-05:00</published><updated>2006-11-12T18:10:23.406-05:00</updated><title type='text'>64-bit 的時代來臨 麻煩大了</title><content type='html'>Intel今年火力全開，今年還沒結束，就從Core Solo到Core Duo，再從Core Duo到Core 2 Duo。今年底幾乎所有的桌上型處理器都支援EM64T。隨著明年初Windows Vista王牌登場，我想這一次是真的要進入64位元記憶定址的時代了。記憶體暴增，如果你認為這表示你的程式會因此變得飛快，你可能會失望。&lt;br /&gt;&lt;br /&gt;今年初在IBM的midrange平台上跑64-bit的JVM。由於JVM的設計規範是以三十二位元為假設，所以一開始我根本沒想到這世上還有64-bit的JVM。當同事告訴我說JVM當掉後在硬碟裡寫了200GB的core dump，一開始還被我嗤之以鼻，還算二的三十二次方給他看。書上明明有讀過的，理論值是4GB，實際heap大小是2GB。如果系統記憶體需求量大，可以起動多個JVM分散負荷。這書上都有寫的。&lt;br /&gt;&lt;br /&gt;同事堅持要我進去看core dump。看過這不可思議的memory dump後Google了一下，才開始冒出冷汗，原來IBM一直都在他們的midrange平台上用64-bit的JVM。趕緊跟同事道歉並道謝之後，想說這下子爽了，放在64位元JVM上面跑，一定快到不行。&lt;br /&gt;&lt;br /&gt;上線後才知道，因為記憶體大到看不見邊，反而是系統最大的地雷。問題出在Java平台本身是靠Garbage Collection管理記憶體。通常系統會等到真的沒地方存東西了才會一次把垃圾清乾淨。因此在一般JVM上面會定期隔幾分鐘看到系統慢一下下，然後記憶體就降下來的情況。同樣的情況搬到64位元上面，就不是慢一下下了。在夜闌人靜的時候，系統開始清理垃圾，因為量實在太大。清了半天還是沒清完，於是系統決定再清一次。幾分鐘之內系統就出現類似潔癖的強迫官能症，不停的清理垃圾。&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/22171124-116113993096864143?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/116113993096864143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=116113993096864143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/116113993096864143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/116113993096864143'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/10/64-bit.html' title='64-bit 的時代來臨 麻煩大了'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22171124.post-116103391439673825</id><published>2006-10-16T16:06:00.000-05:00</published><updated>2006-11-12T18:10:23.049-05:00</updated><title type='text'>台灣起飛</title><content type='html'>看到這則不太起眼的新聞，但這可能是華人歷史上最關鍵的一天。&lt;br /&gt;&lt;a href='http://udn.com/NEWS/INFOTECH/INF3/3561112.shtml'&gt;提供音樂下載現在是正當行業了。&lt;/a&gt;&lt;br /&gt;加油。華人音樂的首都。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22171124-116103391439673825?l=midipig.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://midipig.blogspot.com/feeds/116103391439673825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22171124&amp;postID=116103391439673825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/116103391439673825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22171124/posts/default/116103391439673825'/><link rel='alternate' type='text/html' href='http://midipig.blogspot.com/2006/10/blog-post_16.html' title='台灣起飛'/><author><name>Aspect Solution</name><uri>http://www.blogger.com/profile/13800264558362887843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://www.aspectsolution.com/blog/logo1.jpg'/></author><thr:total>0</thr:total></entry></feed>
